python网络爬虫开发实战 豆瓣_读书:Python3 网络爬虫开发实战

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

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

正则替换技巧,变成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)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值