写爬虫,是一个非常考验综合实力的活儿。
有时候,你轻而易举地就抓取到了想要的数据;
有时候,你费尽心思却毫无所获。
好多Python爬虫的入门教程都是一行代码就把你骗上了“贼船”,等上了贼船才发现,水好深~
比如爬取一个网页可以是很简单的一行代码:
requests.get('https://www.cnblogs.com/kai-/p/11807381.html')
非常的简单,但它的作用也仅仅是爬取一个网页,而一个有用的爬虫远远不止于爬取一个网页。
一个有用的爬虫,只需两个词来衡量:
- 数量:能否抓全所有该类数据
- 效率:抓完所有数据需要多久一天还是一个月
但要做到这两个词,却是要下很多功夫。
自己下功夫是一方面,也很重要的是你要抓取的目标网站给你出了多少难题。
综合起来,就写一个爬虫有多少难度。
如何能在最短时间抓取更多数据?
如何能及时抓取到最新的数据?
如何存储抓取到的海量数据?
如何清理提取数据?
如何获取登录状态?
如何处理验证码?
如何爬取ajax异步加载?
如何解密JavaScript?
3 Requests\ 查看 IP\ headers 保持顺序
13 BeautifulSoup 剔除 HTML script 脚本
16 fiddler 抓 Python requests 的包