在上一篇博客我已经将python高级摘要的笔记分享完毕了,从这一篇博客开始写python网络爬虫的笔记。
我将网络爬虫的学习路线绘制了一个思维导图,在我后面的笔记也会按照这个思维导图进行分享。
模块的安装
pip install 模块名
requests
requests是在urlLib包基础上再次进行封装的,是python最常见的爬虫模块,用来进行网页请求,有三种常用的解析方式:
- 正则 :过滤字符串
- xpath :解析网页节点
- parsel :用来解析网页以供css使用
第四种bs4是不常用的,因为它很久之前就已经停止更新了,跟不上时代的步伐,现在是还可以用,但是不推荐使用,因为解析方式熟练操作一种就可以了。我比较喜欢用parsel,它是用css选择器进行过滤的,之前学过前端就相当于已经掌握这种解析方式了。
反反爬
反反爬他是一个网络爬虫中的行业术语。简单来说,在网络爬虫中有三种专业技术:
- 爬虫 :抓取网页数据
- 反爬虫 :防止爬虫抓取网页数据
- 反反爬 :破解反爬虫,让爬虫能够抓取到数据
在网页中的数据很多都是希望大众能够访问到的,但是不希望竞争对手利用这些数据来超过自己。
爬虫小故事
在电商行业中,甲、乙两家店铺卖着相同的产品,甲的产品卖的十分的火热,而乙的产品卖不出去,于是乙利用爬虫技术爬取甲的产品数据进行分析,分析得出结论,甲的产品卖的比乙的产品价格低,并且部分资金用到了广告上面,其他方面都是大同小异。后面乙对分析得出的结果进行总结,将价格调到比甲低了一点,也是将部分资金用到了广告宣传上面。不久后乙的销量慢慢的的超过了甲,做到了薄利多销,使得乙卖产品一本万利。在这之后甲发现自家产品访问量很高,但购买量十分的少,后来了解到甲的产品访问量高是因为爬虫的原因。于是甲采取了反爬措施,网页上设置了访问频率,正常人是达不到这个速度的,如果达到了那说明是爬虫,并对其设置了禁止访问。甲又用了一个更加好的营销方案吸引用户,使得买乙的产品用户流失。乙对其爬取数据,发现爬取不到了,于是进行伪造真实的用户进行反反爬,让反爬虫发现不了这是爬虫。在乙得到甲的产品数据之后进行模仿并且超越,又赶上了甲产品的销量。甲又对爬虫设置拦截……
从此反爬虫与反反爬虫的斗争就开始了。
反反爬是爬虫的精髓,也是爬虫中的难点,如今互联网行业已经发展成熟,反爬虫的技术也是层出不穷。反反爬有伪造请求头、ip代理、伪造cookio、js逆向等等。
selenium
selenium模块是一个控制浏览器自动操作的模块。它可以模仿用户的操作,用来绕过反爬虫来进行爬取数据
script
script是一个python主流的爬虫框架,让其可以多线程对数据的爬取,完善的框架可以让python爬虫效率进一步的提升。
在过5个月左右就出去工作了,希望能在出去工作前敲到一万行代码,这是每个积极学生的目标,毕业后尽量找个大厂上班,拿到上万的工资,坚持下去,加油!
打卡第57天,对python大数据感兴趣的朋友欢迎一起讨论、交流,请多指教!