python爬虫开发基本知识点梳理

                                                                       Python爬虫开发基本知识点

 

概述:自动化的从网络中(网页或者app等客户端)获取数据,并保存起来的程序.

***理论上,一切可以浏览看到的数据都可以获取到.

***本质:发送正确的请求,获取想要响应。

**概述爬虫开发过程:

 

一,目标站点分析,准备阶段的注意事项:

  1. 检查网站根目录下/robots.txt中君子协议的说明

如果没有robots文件,则默认网站数据允许采集

哪些目录数据可以采集,哪些不允许,否则牵扯到商业性数据他用时,有法律纠纷从该出核定。

关于robots.txt文件:文档尾部详细说明。

2,从robots.txt文件中分析网站地图

即各分类网址,但要注意有些数据不完整;

初步查看网站拥有者,域名注册者。

3,初步分析网站或app采用的页面技术

借用浏览器开发者工具或抓包工具查看数据显示,分析页面框架技术,静态还是动态。

4,估计数据量的大小,以备后期选用数据库的选型。

二,尝试突破

  1. 首先用相对简单快速的工具,探索突破网站需要的验证

    谷歌浏览器开发者工具;

    Postman软件测试获取数据;

   app尝试用fiddler手机代理测试;

2,requests模块编写简单脚本

  1. 分析突破网站的技术难点,以数据完整度为前提,首选web采集,其次APP端。
  2. 逐个突破技术难点,暂时突破不了的选用其他采集途径。
  3. 常见的反爬机制
    1. 封ip----ip代理解决;
    2. 验证码:打码平台或自己封装图片识别方法;
    3. Js加密:截图识别或破解js加密;
    4. UA,cookie,模板等常见反爬;
    5. APP端验证签名机制:查找git破解算法的,或自行利用安卓逆向技术破解其对应算法,并将算法编写本地c语言的so库文件,来突破验签。

 

三,突破后,准备正式框架采集,提高效率,做好反爬策略

  1. 选用爬虫框架,scrapy,分布式,redis技术点,编写爬虫脚本;
  2. 考虑是否并行采集,提高采集效率,多线程、多进程或协程;
  3. 调整爬虫代码逻辑;
  4. 根据数据量和数据格式选用数据库HBase\Mongodb\mysql;
  5. 选用高效的ip代理;

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值