第6章 Ajax数据爬取
第6章 Ajax数据爬取本章我们的目的了解什么是AJAX以及如何去分析和抓取Ajax请求。
6.1 什么是Ajax6.1.1 实例引入6.1.2 基本原理
发送请求
解析内容
渲染网页
6.2 Ajax分析方法6.2.1 查看请求
Elements选项卡可以查看网页源代码,右侧是节点样式。Network选项卡,刷新页面,出现许多条目,这些事页面加载过程中浏览器和服务器之间发送Request和接收Response的所欲记录。
Ajax有特殊请求类型,叫做xhr, 可发现type为xhr的请求就是Ajax请求。点击查看请求的详细信息。
Request Header 中有一个信息为X-Requested-With:XMLHttpRequest 标记了此请求是Ajax请求。
URL
Response Header
Preview
6.2.2 过滤请求利用Chrome开发者工具筛选功能筛选出所欲的ajax请求。在请求的上方有一层筛选栏,点击XHR这样显示的所有请求就是AJAX请求。
6.2.3 结语使用python实现Ajax请求模拟
6.3 Ajax结果提取6.3.1 分析请求6.3. ...
第5章 数据存储
第5章 数据存储5.1 文件存储5.1.1 TXT文本存储5.1.2 JSON文件存储5.1.3 CSV文件存储5.2 关系型数据库存储5.3 非关系型数据库存储5.3.1 MongoDB存储5.3.2 Redis存储
第3章 基本库的使用
第3章 基本库的使用3.1 使用urllib3.1.1 发送请求3.1.2 处理异常3.1.3 解析链接3.1.4 分析Robots协议3.2 使用requests3.2.1 基本用法3.2.2 高级用法3.3 正则表达式3.4 抓取猫眼电影排行
第7章 动态渲染页面爬取
第7章 动态渲染页面爬取本章我们介绍下Selenium和SPlash的用法
7.1 Selenium的使用Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作。同事还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。
7.1.1 准备工作Chrome为例讲解Selenium
7.1.2 基本使用Selenium有怎样的功能运行代码,自动弹出Chrome浏览器。首先会跳转到百度,然后在搜索框中输入,接着跳转到搜索结果页。
7.1.3 声明浏览器对象Selenium支持非常多的浏览器,如Chrome、FIrefox、Edge等,还有android、BlackBerry端的浏览器。
7.1.4 访问页面 from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.taobao.com')
print(browser.page_source)
browser.close()
...
第8章 验证码的识别
第8章 验证码的识别本章设计的验证码有普通图形验证码,极验滑动验证码、点触验证码、微博宫格验证码。
8.1 图形验证码的识别8.1.1 本节目标以知网的验证码为例,讲解利用OCR技术识别图形验证码。
8.1.2 准备工作tesserocr
8.1.3 获取验证码获得验证码图片
8.1.4 识别测试new project
import tesserocr
from PIL import Image
result = tesserocr.image_to_text(image)
print(result)
8.1.5 验证码处理8.1.6 本节代码8.1.7 结语8.2 极验滑动验证码的识别8.3 点触验证码的识别8.3.1 本节目标程序识别并通过点触验证码的验证。
8.3.2 准备工作Selenium + Chrome
8.3.4 识别思路8.4 微博宫格验证码的识别微博宫格验证码是一种新型交互式验证码,每个宫格之间会有一条指示线,指示了应该的滑动轨迹。
准备工作使用Selenium, 使用浏览器是Chrome,请确保已经正确安装好 Selenium库、
第10章 模拟登陆
第10章 模拟登陆介绍模拟登陆和相关方法以及如何维护一个Cookies池
10.1 模拟登录并爬取GitHub10.1.1 本节目标讲解以github为例实现登录的过程,同时爬取登陆后才可以访问的页面信息。
10.1.2 环境准备安装好requests和lxml库。
10.2 Cookies池的搭建
第9章 代理的使用
第9章 代理的使用9.1 代理的设置9.2 代理池的维护9.3 付费代理的使用9.4 ADSL拨号代理9.5 使用代理爬取微信公众号文章
第11章 App的爬取
第11章 App的爬取11.1 Charles的使用11.2 mitmproxy的使用11.3 mitmdump爬取“得到”App电子书信息11.4 Appium的基本使用11.5 Appium爬取微信朋友圈11.6 Appium+mitmdump爬取京东商品
第12章 pyspider框架的使用
第12章 pyspider框架的使用12.1 pyspider框架介绍12.2 pyspider的基本使用12.3 pyspider用法详解
第13章 Scrapy框架的使用
第13章 Scrapy框架的使用13.1 Scrapy框架介绍13.2 Scrapy入门13.3 Selector的用法13.4 Spider的用法13.5 DownloaderMiddleware的用法13.6 SpiderMiddleware的用法13.7 ItemPipeline的用法13.8 Scrapy对接Selenium13.9 Scrapy对接Splash13.10 Scrapy通用爬虫13.11 Scrapyrt的使用13.12 Scrapy对接Docker13.13 Scrapy爬取新浪微博