如何使用python写好网络爬虫

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43886133/article/details/90732599

如何用python写好网络爬虫,写好爬虫最重要的是什么

1.会python基本上都可以写一些简单的爬虫,说明爬虫很好学, 但是写好并不是那么容易。

如何写爬虫呢? python有很多模块和框架可以搞爬虫, 如最常用的requests模块, 结合解析html的lxml模块可以说就可以爬取大部分你说接触的网页。
还有很多可以提高效率的框架,如pyspider及知名度最高的scrapy框架, 这些都很好学,也很容易上手。

但是要做好,还是非常不容易的,但是最重要的是基础和经验! 各种的反爬措施:验证码、封IP、JS加密、动态数据、字体混淆、发送假数据、还有谜一样的HTML界面等等。
很多时候都没有机会对这个网站进行解析, 因为没有拿到入场券!
作者做了比较久的爬虫, 在此过程中发现,反爬措施真的是五花八门,有的甚至没有反爬但是他们那个HTML写的呀也不知道是low,还是low让你看着都不行解析!
有时候花了几天时间破解了别人的JS加密,刚要向队友吹牛X的时候,结果人家说换一种方式就换一种方式!

2.做过很多爬虫项目, 在此简单梳理一下。

电商类的: 淘宝,天猫,京东, 苏宁, 当当, 1号店,亚马逊,国美,还有一些小的网站多品类商品全部信息。
反爬最牛的是淘宝,天猫,包含了常见的几种反爬措施,封IP,验证码,翻页需要用户登录,cookie过期, 数据动态加载, 返回数据不全等等,如果公司想做好淘宝的项目,那是需要人力,物力的。
最友好的当属当当网, 接口非常友好, 数据也比较整齐, 真的希望所有网站向当当学习。

旅游类的: 美团,去哪儿,途牛,同程,携程等
这几个景点类的都还可以, 酒店类的反爬就各有不同, 很多事保护酒店价格, 很难从网站返回的数据中找到最优价格的, 当然也是封IP的。

外卖类的: 百度外卖(饿了么星选),饿了么, 美团外卖的店铺及店铺菜品信息。

难点1: 位置坐标,都是不同的处理方式。
难点2: 需要cookie有时效。
难点3: 饿了么需要用户登录,要携带用户信息的cookie, 美团get的请求的时候要携带不知道怎么方式加密的参数(至今只解了一层)
后来业务被搁置

汽车类的: 汽车之家, 爱卡汽车,车主之家,58汽车, 太平洋汽车网站的文章, 论坛,新闻, 口碑, 几乎全栏目爬取
难度最大的当属汽车之家, 近两年汽车之家反爬做的也来越好。

招标类的: 千里马, 招投标网,中国采购与招标采购以及搜集个小网站的招投标信息。

网站多乱杂, 几个大型的网站都需要登录, 需要付费客户, 登录后获取cookie才能抓取完整的信息。

新闻类的: 虎嗅网,今日头条,新浪, 搜狐等

金融债权类: 上交所,深交所, 老虎证券, 东方财富网等
还有母婴类的网站。
都写不下去了, 因为还有很多种类,国内各个部门的法律法规,行政处罚;地方的新闻舆情; 各种论坛的数据等等!等等!

APP做的相对较少。

3.写了这么久爬虫有点小小的感悟。

由于本人比较菜,也没有过硬的牛X的技能,但是写爬虫的过程中还是有点感悟。

a> 首先宗旨是尽量不用 selenium + PhantomJS或 Chrome, 影响效率,也没有挑战性,也不是万能的
b> 比如淘宝就不太好用, 还有就是银监会的数据也不能通过 selenium获取。
c> 验证码, 登录,能绕过的尽量绕过, 可以稍微花点时间研究如何绕过, 实在绕不过在想别办法。
d> 我觉最重要的是基础,对http/https协议的理解, 对 xpath, 正则表达式, 列表推导式,字典,for循环用到的方法的灵活运用,
能够更高效的,更准确的提取数据,同样能保证代码的整洁度。 始终要记住,页面展示的所有数据你都可以拿的到!
e> 多花些时间分析网站的HTML模板,即便是同一个网站模板也不可能完全一致, 为了避免数据提取有遗漏, 花点时间分析HTML, 让你的爬虫更有兼容性。

4.后期会根据时间写一些爬虫, 来具体分析一下具体的问题。

猜你喜欢

转载自blog.csdn.net/weixin_43886133/article/details/90732599