1. 首页
  2. IT资讯

如何开始写你的第一个python脚本——简单爬虫入门!

“u003Cdivu003Eu003Cpu003E好多朋友在入门python的时候都是以爬虫入手,而网络爬虫是近几年比较流行的概念,特别是在大数据分析热门起来以后,学习网络爬虫的人越来越多,哦对,现在叫数据挖掘了!u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1528974441121637e99a5f2″ img_width=”1280″ img_height=”853″ alt=”如何开始写你的第一个python脚本——简单爬虫入门!” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E其实,一般的爬虫具有2个功能:取数据和存数据!好像说了句废话。。。u003Cu002Fpu003Eu003Cpu003E而从这2个功能拓展,需要的知识就很多了:请求数据、反爬处理、页面解析、内容匹配、绕过验证码、保持登录以及数据库等等相关知识,今天我们就来说说做一个简单的爬虫,一般需要的步骤!u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F15289744104182ca578468c” img_width=”613″ img_height=”470″ alt=”如何开始写你的第一个python脚本——简单爬虫入门!” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Ch1u003E存数据u003Cu002Fh1u003Eu003Cpu003E先说存数据,是因为在初期学习的时候,接触的少,也不需要太过于关注,随着学习的慢慢深入,我们需要保存大批量的数据的时候,就需要去学习数据库的相关知识了!这个我们随后开篇单独说明。u003Cu002Fpu003Eu003Cpu003E初期,我们抓到需要的内容后,只需要保存到本地,无非保存到文档、表格(excel)等等几个方法,这里大家只需要掌握u003Cstrongu003Ewithu003Cu002Fstrongu003E语句就基本可以保证需求了。大概是这样的:u003Cu002Fpu003Eu003Cblockquoteu003Eu003Cpu003Ewith open(路径以及文件名,保存模式) as f:u003Cu002Fpu003Eu003Cpu003E f.write(数据)#如果是文本可直接写入,如果是其他文件,数据为二进制模式更好u003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cpu003E当然保存到excel表格或者word文档需要用到 xlwt库(excel)、python-docx库(word),这个在网上很多,大家可以自行去学习。u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp9.pstatp.comu002Flargeu002Fpgc-imageu002F15289744831486a25cb99cc” img_width=”1280″ img_height=”853″ alt=”如何开始写你的第一个python脚本——简单爬虫入门!” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Ch1u003E取数据u003Cu002Fh1u003Eu003Cpu003E啰嗦那么多,终于到正题,怎么来抓取我们想要的数据呢?我们一步步的来!u003Cu002Fpu003Eu003Cpu003E一般所谓的取网页内容,指的是通过Python脚本实现访问某个URL地址(请求数据),然后获得其所返回的内容(HTML源码,Json格式的字符串等)。然后通过解析规则(页面解析),分析出我们需要的数据并取(内容匹配)出来。u003Cu002Fpu003Eu003Cpu003E在python中实现爬虫非常方便,有大量的库可以满足我们的需求,比如先用requests库取一个url(网页)的源码u003Cu002Fpu003Eu003Cblockquoteu003Eu003Cpu003Eimport requests#导入库u003Cu002Fpu003Eu003Cpu003Eurl = ‘你的目标网址’u003Cu002Fpu003Eu003Cpu003Eresponse = requests.get(url) #请求数据u003Cu002Fpu003Eu003Cpu003Eprint(response.text) #打印出数据的文本内容u003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cpu003E这几行代码就可以获得网页的源代码,但是有时候这里面会有乱码,为什么呢?u003Cu002Fpu003Eu003Cpu003E因为中文网站中包含中文,而终端不支持gbk编码,所以我们在打印时需要把中文从gbk格式转为终端支持的编码,一般为utf-8编码。u003Cu002Fpu003Eu003Cpu003E所以我们在打印response之前,需要对它进行编码的指定(我们可以直接指定代码显示的编码格式为网页本身的编码格式,比如utf-8,网页编码格式一般都在源代码中的<meta>标签下的charset属性中指定)。加上一行即可u003Cu002Fpu003Eu003Cblockquoteu003Eu003Cpu003Eresponse.encode = ‘utf-8’ #指定编码格式u003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cpu003E至此,我们已经获取了网页的源代码,接下来就是在乱七八糟的源代码中找到我们需要的内容,这里就需要用到各种匹配方式了,常用的几种方式有:正则表达式(re库),bs4(Beautifulsoup4库),xpath(lxml库)!u003Cu002Fpu003Eu003Cpu003E建议大家从正则开始学习,最后一定要看看xpath,这个在爬虫框架scrapy中用的很多!u003Cu002Fpu003Eu003Cpu003E通过各种匹配方式找到我们的内容后(注意:一般匹配出来的是列表),就到了上面所说的存数据的阶段了,这就完成了一个简单的爬虫!u003Cu002Fpu003Eu003Cpu003E当然了,在我们具体写代码的时候,会发现很多上面没有说到的内容,比如u003Cu002Fpu003Eu003Culu003Eu003Cliu003E获取源代码的时候遇到反爬,根本获取不到数据u003Cu002Fliu003Eu003Cliu003E有的网站需要登录后才可以拿到内容u003Cu002Fliu003Eu003Cliu003E遇到验证码u003Cu002Fliu003Eu003Cliu003E获取到内容后写入文件出错u003Cu002Fliu003Eu003Cliu003E怎样来设计循环,获取大批量的内容甚至整站爬虫u003Cu002Fliu003Eu003Cu002Fulu003Eu003Cpu003E等等,这些我们慢慢来研究!u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1528974527325b1b252ef07″ img_width=”1023″ img_height=”682″ alt=”如何开始写你的第一个python脚本——简单爬虫入门!” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E总之,学习本身是一个漫长的过程,我们需要不断的练习来增强我们的学习兴趣,以及学到更扎实的知识!大家加油!u003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:如何开始写你的第一个python脚本——简单爬虫入门!

主题测试文章,只做测试使用。发布者:玩家L-,转转请注明出处:http://www.cxybcw.com/15425.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code