写爬虫程序应注意的问题

198 篇文章 0 订阅
189 篇文章 0 订阅

我们知道,网络爬虫是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。那么,我们怎么通过网络爬虫获取所需要的网站信息呢?
不同的网站有不同的规则,爬虫工程师根据这些规则设计不同的网络爬虫,以此来顺利获取所需要的信息。
一、开放API的网站
一个网如果开放了API,那么就可以直接GET到它的json数据。有三种方法可以判断一个网站是否开放了API。
1、在站内寻找API入口;
2、用搜索引擎搜索“某网站API”;
3、抓包,有的网站虽然用到了ajax,但是通过抓包还是能够获取XHR里的json数据的(可用抓包工具抓包,也可以通过浏览器按F12抓包:F12-Network-F5刷新)。
二、不开放API的网站
1、如果网站是静态页面,那么可以用requests库发送请求,再通过HTML解析库(lxml、parsel等)来解析响应的text;解析库强烈推荐parsel,不仅语法和css选择器类似,而且速度也挺快,Scrapy用的就是它。
2、如果网站是动态页面,可以先用selenium来渲染JS,再用HTML解析库来解析driver的page_source。
三、反爬虫网站
很多网站都具有反爬虫策略,常见的有:验证码、登陆、限制IP等。
1、验证码。可以利用打码平台破解(如果硬上的话用opencv或keras训练图);
2、登陆。利用requests的post或者selenium模拟用户进行模拟登陆;
3、限制IP。购买亿牛云代理IP(免费IP效果非常差,不建议使用)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值