你是如何开始能写python爬虫?

好问题,这个问题不禁让我回忆起我学爬虫的路。

2014年底,我在学校参与到一个项目,是用数据来预测新店铺的选址,这里就不免需要购物中心的数据。当时没有同学会爬虫获取数据,于是有些同学开始手动复制粘贴,我并不想做这种机械性的工作。于是,我上网搜到了爬虫这个概念,在我仅仅会vba和c的情况下,开始自学python,装library,上网搜教程,各种折腾了一个星期后,终于从网上爬下来需要的数据。

那种痛哭流涕的感觉,这是我爬虫之路上最刻苦铭心的记忆。

之后,参与到更多的项目中,各个项目都需要爬虫获取数据,例如消费者评论的情感分析,需要电商的评论;分析全国各个小区所居住人的社会阶层,需要楼价数据;分析各个城市餐厅的消费情况,需要餐厅数据,等等。

慢慢的,我入坑了。首先我只是会使用 requests 获取网页,使用 Beautifulsoup 把网页中的内容提取出来,再使用简单的一行代码存入记事本中。

这些浓缩在我前几周写的这篇文章:5分钟入门网络爬虫 - 原来可以这么简单易懂

5分钟入门爬虫,呵呵,这可是我1个月各种搜资料求大神学习的浓缩:学习一个东西一定要一个好老师,你走偏了路,1个月的努力也许别人只需学5分钟。

慢慢的,发现我使用 requests 获取到的是乱码,是该网页无法显示的时候,我开始攻克这个难关。我发现了网站也会反爬虫,我开始网上搜各种资料:修改代理,修改请求头,修改爬虫间隔时间等等。

慢慢的,我发现光是用 Beautifulsoup 解析不了某些动态网页,因为网页源代码里面根本没有我要的数据。我开始攻克这个难关,我了解到现在大部分网页使用的 JavaScript 动态提取数据,我开始学会了如何找到网页的真实地址,我也知道了使用 selenium 模拟浏览器的点击。

慢慢的,我发现爬下来的数据越来越大,把数据存入 txt 或者 csv 格式不够方便,我开始学习数据库。凭着自己 sql 的一点点基础,开始自己下载 mysql,学习如何把 Python 和 mysql 对接,把数据存到 sql 数据库里。之后又发现 nonsql 对于网页里的数据能更方便的储存,我又开始自学 Mongodb,下载安装,对接储存。

慢慢的,我发现之前针对反爬虫的招数都变成了废物的时候,我又开始找朋友,问大神,了解到动态 IP 这种方法,又知道了 Tor 这个神器。但是,他们只告诉我有这个方法,我又一点一滴地在网上搜资料,中文的资料很少,我就去 google 上搜英文的,跟着网上的教程,bug 不断出现,然后又一个个 bug 去解决,我终于知道了 如何使用动态 IP 和Tor,解决了 IP 的问题。

慢慢的,我发现我爬虫的速度太慢,达不到时间的要求,我开始了解到多进程爬虫,了解到分布式爬虫,我又开始学。。。

前几天看了李书福的一句话,我觉得很有道理:“造汽车没什么神秘的,无非就是四个轮子加一个方向盘再加一个发动机。”,爬虫对于造个汽车来说,更简单,无非就是三步:获取网页,提取数据,储存数据。

没什么不可能的,你需要的是即刻开始。

也许努力的人会多一点运气,机械工业出版社的编辑主动找到了我,要我写一本《Python 网络爬虫》,我很珍惜这个机会,也希望把自己一路上学到的,遇到的都浓缩到这本书里。我希望这本书不是成为大家学习爬虫的障碍,而是享受到爬虫的乐趣。

几个月的努力,每天晚上在公司从7点写到12点,多少个周末没有出去玩耍,拒绝了朋友的邀约,我终于能出版一本自己的书了。

这本书,我希望零基础的同学可以读,有基础的同学也可以读;我太知道一个好的老师对于学习的重要了,因此,这本书我尽量做到浅显易懂,而且通过大量的实战来让成果巩固。

贴个链接,希望大家支持:

京东链接《Python网络爬虫从入门到实践》(唐松,陈智铨)【摘要 书评 试读】- 京东图书

当当链接《Python网络爬虫从入门到实践》(唐松 陈智铨)【简介书评在线阅读】 - 当当图书

天猫链接正版包邮 Python网络爬虫从入门到实践 计算机与互联网 Python爬虫的流程 使用pip安装第三方库 计算机网络 编程语言与程序设计

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章