求python3实战python网络爬虫pdf开发实战的pdf文档

这本书可以了解爬虫体系!

流程:抓取页面---分析页面---存储数据

正则替换技巧变成json格式

MongoDB[2]是一个介于和非关系数据库之间的产品,是非关系数据库当中功能最丰富最像关系数据库的。?卧槽

5、存储库(与数据库交互)

6、web库安装(搭建api接口,维护代理池)

flask tornado(Tornado 是一个支持异步的Web 框架通过使用非阻塞I / O 流,咜可以支撑成千上万的开放连接效率非常高

7、app爬取相关库安装

8、框架安装(高效,大量)

docker容器技术应用和环境打包,类似app的‘应用’复制到其他docker,一台机器运行多个应用共享操作系统。

Scrapyd 的安装:Scrapyd 是一个用于部署和l运行Scrapy 项目的工具 有了它,你可以将写好的Scrapy 项目上傳到云主机并通过API 来控制它的运行

HTTP和HTTPS:访问资源协议类型

请求:请求方法(post),请求网址(url)请求头(User-Agent),请求体(data)

响应:状态码(200)响应头(应答信息),响应体(正文pieview)-爬虫目标

爬虫概述:爬取网页-提取数据-存(自动化)

html,json图片,视频音频。能看到都能抓

Cookies: 里面保存了登录的凭证有了它,只需要在下次请求携带Cookies 发送

请求而不必重新输入用户名、密码等信息重新登录了

登录后才能访问解决:session(服务器)和cookie(客户端)

会话:有始有终的一系列消息/动作,比如打电话的过程称为一个会话

代理:中介(突破自身限制提高速喥,隐藏真实ip)

代理来源:网上免费付费购买,adsl拨号(拨下换下稳定性高)

timeout参数设置超时时间超过时间没响应,抛出异常不指定就默认(等同None)

session对象维持会话(get和post都能用),用于模拟登录后的下一步操作

ssl证书 代理设置 身份认证

compile封装更快,不怕重复使用

提取分组然後group(1)提取

非贪婪:.*?(尽可能短)

re.S不怕换行符,re.I大小写不敏感转义\.

sub('匹配',‘修改',字符串')修改文本,可以修改后让findall使用更方便

json库的dumps()实现字典的序列化yeild方法,用for……in……打印和存储,调用函数

1、xpath:强大,*表示所有,/text()获取文本小心换行修正, contains()多属性获取

csv 注意定义头类似excel表头

mysql连接,创建表插入,查询

MongoDB:连接指定库,指定集合插入,查询count()计数

redis:连接,键操作……

6、动态1:AJAX 数据爬取

原理:局部刷噺(1.发送请求2.解析内容(类似requet请求,常用的是json)3.渲染页面(动态DOM)

点击开发者工具XHR,分析请求分析响应。 response看真实数据

7、动态2:渲染頁面抓取

1、selenium 声明浏览器对象,访问页面查找节点(单或多),

动作链:拖拽键盘按键

延时等待 推荐显示等待 wait=WebDriverWait(brower,10),等待10s,有很多等待条件如按钮出现,文字加载成功……

通过lua脚本控制页面加载过程完全模拟浏览器

8、验证码识别(都可以人识别)

2、极验滑动验证码 selenium+人(圖像识别)(采用直接模拟浏览器动作的方式来完成验证)难难难!

3、点触验证码 selenium (谁是白百何),第三方接口

4、微博宫格验证码 selenium (解锁)字典模板暴破

实战:代理抓微信公众号

cookies池搭建 直接访问一些json接口,浏览器访问非法

原理 charles代理服务器 抓包,分析

我要回帖

更多关于 实战python网络爬虫pdf 的文章

 

随机推荐