Python爬虫技术性总结(1)

513 篇文章 32 订阅
513 篇文章 7 订阅

1.如何分析一个网页

1):查看网页源代码中是否有我们需要的数据

2):如果 1)中没有,抓包,分析所有的包,看看哪个包中有我们需要的数据

3):如果 1),2)中都没有,可以使用selenium配合phantomjs解析

2.抓取工具:

1):urllib2

2):requests

3):scrapy

以上三个类库或框架用于抓取数据,拿到的都是网页源代码

3.解析网页源代码

1)正则表达式

2)xpath

3)bs4

用来根据网页源代码提取我们需要的数据

4.入库

mysql、mongodb

mysql里面存储过程、事务

只要涉及到并发,不能再使用id自增的方式,应该使用UUID,一般在表中配备一个日期类型的字段

5.应对反爬机制

1)headers的使用

2)代理IP,休眠

3)ocr验证码,如果说我们不涉及登录验证码,而且是爬取的过程中出现的验证码不能被ocr识别的时候,我们最终的解决方案是 2)

如果说我们需要破解登录的验证码,小编推荐一个学python的学习老师围鑫(同音),前边一组是:mengy ,后边一组是:7762,把以上两组字母按照先后顺序组合起来即可,她会安排学习的。,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!内有开发工具,很多干货和技术资料分享!

a.人工打码

b.提供前端html页面,由用户输入

c.机器训练

4)简单ocr破解之后,拿到cookie,然后携带cookie再去访问当前页面,意味我们从浏览器数据验证码以后得到的那个页面

6.cookie的使用

1)模拟用户登录,登录成功后,拿到cookie,然后携带cookie请求类似于个人主页,信息修改的页面,模拟真实浏览器的实际操作

2)应对ocr之后的cookie,模拟浏览器请求
小可爱,加下我微信:mengy7762
领取以下福利
1、python安装包
2、程序员电子书籍:5本-10本
3、python项目源码三份:(python破解WiFi密码、VIP视频权限破解、爬虫自动化)
4、基础学习PPT教案
5、免费课程(开课时间15:00、19:30、20:30)自由选择
6、程序员职业规划分享
7、空余时间接单赚钱方法

7.分布式

1)只要涉及到高并发,通常使用分布式的解决思路,来解决问题

requests celery+rabbitmq 多进程+协程的方式来构建分布式,这个思想完全可以应用在web当中,来构建webapi

url去重时:mysql、mongodb物理表去重,redis,list

redis去重的有点:速度快,减少的是由硬盘到内存的IO操作时间,缺点在于,如果没有存入硬盘,当服务器重启的时候,所有的url将消失

2)scrapy构建分布式的时候,我们采用了scrapy-redis的理念,将所有的url存放于redis中,做url去重,也可以采用mysql、mongodb等方式用于url去重操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值