首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python爬虫不可不知的小技巧

最近在学习python,写了不少爬虫项目,总结出一些python爬虫心得,期望给到一些你一些帮助:

一、心态:办法总比困难多

只要行动总会遇到困难,困难不可怕,怕的就是自己不去想办法解决。记住其实办法总比困难多。比如,遇到一个困难,想到的就是百度,百度如果搜索不到,第一种可能是百度也没答案,但是不怕,咱可以在微信里搜啊;第二种搜索的关键词不对或者表述不对,可以把关键词进行拆分在搜索,比如你搜如何一夜暴富,可能搜不到,但是你搜暴富,财富可能就有了。如果以上还无法解决还可以请教人,认识的人没有懂的没有关系,还有在行呢。由此可见,办法总是有的,需要自己不断的探索。

二、爬虫技巧:

1、想要爬取某个网站时,发现PC端做了加密,且有IP、验证码各种限制,没办法爬取啊。不怕,可以试试H5页面呀。说不定H5根本没什么限制。完美绕过各种限制。

2、观察要爬取的网站。

1)观察爬取字段的类型,比如商品的价格,一般是数值,但是说不准有些因为缺货或者其他原因显示为暂无数据,如果你爬取时将数据存储在数据库,而价格字段定义的是整型,那么爬取到“暂无数据”存储到数据库时就会报错,如果提前知道这种情况就可以避免。

2)被爬取网页限制网页展示的数据量,比如你爬取一个商品的全部评论。一个商品平台可能有上百页,但是即使评论有200页,当你请求到第101页及以后的页数时,返回的还是第100页的内容,如果观察到这种情况,不会再爬取100页以后的数据而浪费了时间。

3、抓取不到想要的信息的解决办法:可以右键查看一下网页源代码,如果网页中没有你要的内容,说明网页做了动态加载,可以使用selenium库爬取,这个库是模拟浏览器进行爬取,当然具体使用方法可以百度,或者查看我的后续更新。

4、做好报错处理:写代码的都知道,程序要健壮robust。还是举商品价格的例子,看到网站有商品价格,就写了获取价格元素的代码,但是未做获取不到的处理,那么当你写好代码运行快爬取完大功告成时,报错了。最后看下来是因为有些商品居然没有商品价格,这个时候你不光要改代码还要再重新跑一次爬取数据了。如果做了try except处理可能就跳过这个错误继续运行了。

5、xpath语法注意点,使用相对路径而不是绝对路径。很多人可能直接通过浏览器复制xpath路径就用了,来获取元素,但是一旦翻页,页面布局变了,可能这个路径就获取不到数据了。用标签id或者class会比较稳妥些。

6、页面没有要抓取的数据:很多时候你爬取一个网站,发现网站没有这个数据,其实过观察下,可能会找到。比如爬取视频网站,但是视频详情页面并没有视频分类,你又需要这个数据,怎么办呢?有办法的,看看是不是搜索条件中有,搜索条件中有,但是你可能还是有疑问怎么将搜索条件中的分配跟视频关联呢,其实遍历一下搜索条件,然后爬取视频名称id,做个关联就得到了。

7、最后,先跑一下代码后观察结果数据,看看数据是否有问题,一般最常出现的就是存储数值类型的数据会出现问题,比如你爬取的数据是“10-20”,那么当你存储到csv/xlsx文件中时,打开一看居然变成了10月20号,所以存储时是不是要特殊处理下?

以上就是就是我分享的爬虫心得。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200220A0TMEH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券