这本书可以了解爬虫体系!
流程:抓取页面---分析页面---存储数据
正则替换技巧,变成json格式
'''
^(.*)=(.*)$
'\1':'\2',
'''
aaa=12121
type=haha
1、开发环境
1、软件安装 py3
2、请求库安装
requests Selenium(JS渲染页面有用) chromdriver(谷歌) geckodriver(火狐) aiohttp(异步web,不用一直等待响应) cchardet(编码检测) aiodns(加速dns解析)
3、解析库
lxml Beautiful Soup pyquery (类似jq滴css选择器,爽)
先安装tesseract软件,tesserocr(验证码识别)
OCR(optical character recohnition) 光学字符识别,扫描字符然后翻译成电子文档
4、数据库安装
mysql MongoDB redis(基于内存高效非关系型)
MongoDB[2]是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。???卧槽
5、存储库(与数据库交互)
pymysql pymongo redis-py
redisdump(Redis 数据导人/导出),基于ruby,需要安装ruby语言
6、web库安装(搭建api接口,维护代理池)
flask tornado(Tornado 是一个支持异步的Web 框架,通过使用非阻塞I / O 流,它可以支撑成千上万的开放连接,效率非常高)
利用flask+redis维护动态代理池和cookies池
利用tornado+redis维护adsl拨号代理池
7、app爬取相关库安装
简单接口 Charles(比fiddler强大,移动端) mitmproxy(控制台操作的抓包工具)
复杂接口 mitmdump,mitmweb
appium (app里面selenium)
8、框架安装(高效,大量)
pyspider 基于phantomjs(Web Ui)
scrapy 强大爬虫框架
scapy-splash(Scrapy 中支持JavaScript 渲染的工具)
scapy-redis:分布式扩展模块
9、部署相关库
docker容器技术,应用和环境打包,类似app的‘应用’,复制到其他docker,一台机器运行多个应用,共享操作系统。
Scrapyd 的安装:Scrapyd 是一个用于部署和l运行Scrapy 项目的工具, 有了它,你可以将写好的Scrapy 项目上传到云主机并通过API 来控制它的运行。
2、爬虫基础
1、HTTP基本原理
URI(含图片js)>URL(含网址)
HTTP和HTTPS:访问资源协议类型
请求:请求方法(post),请求网址(url),请求头(User-Agent),请求体(data)
响应:状态码(200),响应头(应答信息),响应体(正文,pieview)-爬虫目标
2、HTML文档
爬虫概述:爬取网页-提取数据-存(自动化)
能抓啥子?
html,json,图片,视频,音频。能看到都能抓
Cookies: 里面保存了登录的凭证,有了它,只需要在下次请求携带Cookies 发送
请求而不必重新输入用户名、密码等信息重新登录了。
登录后才能访问解决:session(服务器)和cookie(客户端)
会话:有始有终的一系列消息/动作,比如打电话的过程称为一个会话
代理:中介(突破自身限制,提高速度,隐藏真实ip)