作家
登录

我是如何零基础开始能写Python爬虫的

作者: 来源: 2017-12-05 11:07:00 阅读 我要评论

CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了


我是若何零基本开端能写Python爬虫的

应用这些数据,可以做很多范畴的分析、市场调研,获得很多有价值的信息。这种技能不为我所用实袈溱可惜,于是不雅断开端进修。

刚开端接触爬虫的时刻,的确惊为天人,十几行代码,就可以将无数网页的信息全部获取下来,主动拔取网页元素,主动整顿成构造化的文件。

- ❶ -并非开端都是最轻易的

刚开端对爬虫不是很懂得,又没有任何的计算机、编程基本,确切有点懵逼。大年夜哪里开端,哪些是最开端应钙揭捉?的,哪些应当比及有必定基本之后再学,也没个清楚的概念。

因为是 Python 爬虫嘛,Python 就是必备的咯,那先大年夜 Python 开端吧。于是看了一些教程和书本,懂得根本的数据构造,然后是列表、字典、元组,各类函数和控制语句(前提语句、轮回语句)。

学了一段时光,才发明本身还没接触到真正的爬虫呢,并且纯理论进修很快就忘了,归去复习又太浪费时光,的确不要太掉望。把 Python 的基本常识过了一遍之后,我竟然还没装一个可以敲代码的IDE,想想就哭笑不得。

- ❷ -开端直接上手

起色涌如今看过一篇爬虫的技巧文┞仿后,清楚的思路和通俗易懂的说话让我认为,这才是我想学的爬虫。于是决定先配一个情况,尝尝看爬虫到底是怎么玩的。(当然你可以懂得为这是浮躁,但确切每个小白都想去做直不雅、有反馈的工作)

因为怕掉足,装了比较保险的 Anaconda,用自带的 Jupyter Notebook 作为IDE来写代码。看到很多人说因为设备情况出各类BUG,的确光荣。很多时刻打败你的,并不是工作本身,说的就是爬虫设备情况这事儿。

碰到的另一个问题是,Python 的爬虫可以用很多包或者框架来实现,应钙揭捉?哪一种呢?我的原则就是是简单好用,写的代码少,对于一个小白来说,机能、效力什么的,一切被我 pass 了。于是开端接触 urllib、美丽汤(BeautifulSoup),因为听别人说很简单。

我上手的第一个案例是爬取豆瓣的片子,无数人都推荐把豆瓣作为新手上路的实例,因为页面简单且反爬虫不严。照着一些爬取豆瓣片子的入门级例子开端看,大年夜这些例子琅绫擎,懂得了一点点爬虫的基来源基本理:下载页面、解析页面、定位并采取数据。

当然并没有去体系看 urllib 和 BeautifulSoup 了,我须要把面前实例中的问题解决,比如下载、解析页面,根本都是固定的语句,直接用就行,我就先不去进修道理了。

当然 BeautifulSoup 中的根本办法是不克不及忽视的,但也无非是 find、get_text() 之类,信息量很小。就如许,经由过程别人的思路和本身查找美丽汤的用法,完成了豆瓣片子的根本信息爬取。

用 BeautifulSoup 爬取豆瓣片子详情

有了一些套路和情势,就会有目标,可以接着往下学了。照样豆瓣,本身去摸索爬取更多的信息,爬取多部片子,多个页面。这个时刻就发明基本不足了,比如爬取多个元素、翻页、处理多种情况等涉及的语灸┞菲握,又比如提取内容时涉及到的字符串、列表、字典的处理,还远远不敷。

再归去弥补 Python 的基本常识,就很有针对性,并且能立时能用于解决问题,也就懂得得更深刻。如许直到把豆瓣的TOP250图书和片子趴下来,根本算是懂得了一个爬虫的根本过程了。

用 urllib 下载和解析页面的固定句式

BeautifulSoup 还算不错,但须要花一些时光去懂得一些网页的根本常识,不然一些元素的定位和拔取照样会头疼。

后来熟悉到 xpath 之后相见恨晚,这才是入门必备利器啊,直接Chrome复制就可以了,指哪打哪。即就是要本身写 xpath,以w3school上几页的 xpath 教程,一个小时也可以搞定了。requests 貌似也比 urllib 更好用,但摸索总归是试错的过程,试错成本就是时光。

requests+xpath 爬取豆瓣TOP250图手札息

- ❹ -跟反爬虫杠上了

经由过程 requests+xpath,我可以去爬取很多网站网站了,后来本身演习了小猪的租房信息和当当的图书数据。爬拉勾的时刻就发明问题了,起首是本身的请求根本不会返回信息,本来要将本身的爬虫假装成浏览器,终于知道别人代码中那一坨 headers 信息是干啥的了😂。

浏览器抓取 JavaScript 加载的数据

在这里就对反爬虫有了熟悉,当然这照样最根本的,更严格的IP限制、验证码、文字加密等等,可能还会碰到很多灾题。然则今朝的问题可以或许解决不就很好了吗,逐个击破才能更高效地进修。

比如后来在爬其他网站的时刻就被封了IP,简单的可以经由过程 time.sleep() 控制爬取频率的办法解决,限制比较严格或者须要包管爬取速度,就要用代劳IP来解决。


  推荐阅读

  Translate Shell :一款在Linux命令行中使用谷歌翻译的工具

CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了我对 CLI 应用异常感兴趣,是以热衷于应用处分享 CLI 应用。 我之所以更爱好 CLI 很大年夜原因是因魏喂授大年夜多半的时刻都应用的是字符界>>>详细阅读


本文标题:我是如何零基础开始能写Python爬虫的

地址:http://www.17bianji.com/lsqh/39464.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)