![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
Idea King
勤练带来力量
展开
-
初识 Scrapy 高级功能
文章目录1. 前言2. Downloader 中间件3. Spider 中间件4. 扩展5. 核心 API6. 信号7. Item exporters8. 参考文献1. 前言2. Downloader 中间件3. Spider 中间件4. 扩展5. 核心 API6. 信号7. Item exporters8. 参考文献[1] [2] [3] [4] ...原创 2020-07-06 21:48:08 · 485 阅读 · 0 评论 -
初识 Scrapy
文章目录什么是Scrapy?scrapy BS 和 lxml爬取顺序需要解析的数据过大怎么办?部署 Scrapy 爬虫11创建Scrapy项目什么是Scrapy?Scrapy是一个应用框架,常用于爬取网站和抽取结构化数据。scrapy BS 和 lxmlBeautifulSoup 是解析 HTML 的库lxml 是一个解析 HTML 和 xml 的库scrapy 是爬虫应用框架爬取顺序默认的爬取顺序是DFS,因为默认使用栈来存放爬虫请求。需要解析的数据过大怎么办?在使用XPath选择器解原创 2020-07-03 16:32:27 · 307 阅读 · 0 评论 -
初识 Scrapy - Item Loader
文章目录使用Item Loader输入和输出处理器声明Item Loader声明 输入/输出处理器Item Loder 上下文嵌套LoaderScrapy并不是直接填充items,而是有自己的机制。items为爬取的数据提供容器,Item Loader为该容器提供了填充机制。使用Item Loaderfrom scrapy.loader import ItemLoaderfrom myproject.items import Productdef parse(self, response):原创 2020-07-03 16:30:31 · 252 阅读 · 0 评论 -
初识 Scrapy - Feed导出
文章目录序列化格式JSONJSON linesCSVXMLPickleMarshal存储本地文件系统FTPS3标准输出设置在实现scraper时,最经常需要的功能之一是能够正确地存储被抓取的数据,这通常意味着用被抓取的数据(通常称为“导出提要”)生成一个“导出文件”,供其他系统使用。Scrapy通过Feed导出提供了这样一个开箱即用的功能。允许你根据抓取的items使用多种序列化格式和存储后端生成feeds。序列化格式JSONJSON linesCSVXMLPickleMarshal存储原创 2020-07-03 16:22:45 · 636 阅读 · 0 评论 -
初识 Scrapy - Item Pipeline
文章目录自定义item pipeline示例验证item 字段和删除不合格的item将item写入json文件将item存入MongoDB重复过滤器激活item pipeline组件在一个item被一个spider抓取之后,它被发送到Item Pipeline,该管道通过几个按顺序执行的组件来处理它。每一item pipeline组件都是Python的类。它们接收item,并对它执行操作,还决定该项目是否应继续通过管道,或者是否应删除并不再处理。item pipeline的典型用途有:清理HTML原创 2020-07-03 16:21:47 · 261 阅读 · 0 评论 -
python3爬虫学习系列08 - scrapy(二)
文章目录1. 追踪链接(fllow links)2. 创建request的快捷方式3. 更多例子4. 使用 spider 参数5. 参考文献之前的博客:python3爬虫学习系列02-常见的下载和抽取网页的方法python3爬虫学习系列03-下载缓存python3爬虫学习系列04 - 并发下载python3爬虫学习系列05 - 获取动态内容python3爬虫学习系列06 -表单交互...原创 2019-08-12 12:34:10 · 395 阅读 · 0 评论 -
python3爬虫学习系列08 - scrapy(一)
文章目录1. 安装Scrapy2. 创建一个项目3. 如何运行爬虫4. 运行这个爬虫的时候发生了什么?5. 提取数据5.1 CSS 选择器提取数据5.2 XPath 提取数据4. 参考文献之前的博客:爬虫学习系列02-常见的下载和抽取网页的方法爬虫学习系列03-下载缓存爬虫学习系列04 - 并发下载爬虫学习系列05 - 获取动态内容python3爬虫学习系列06 -表单交互pytho...原创 2019-08-12 10:43:09 · 240 阅读 · 0 评论 -
python3爬虫学习系列07 - 处理验证码
文章目录1. 加载验证码图像Pillow和PIL的对比2. 光学字符识别抽取文本3. 处理复杂的验证码4. 参考文献之前的博客:爬虫学习系列02-常见的下载和抽取网页的方法爬虫学习系列03-下载缓存爬虫学习系列04 - 并发下载爬虫学习系列05 - 获取动态内容python3爬虫学习系列06 -表单交互本节,将与网页进行交互,根据用户输入返回对应的内容。发送POST请求提交表单;...原创 2019-08-09 20:11:27 · 372 阅读 · 0 评论 -
python3爬虫学习系列06 -表单交互
文章目录一、登陆表单2. 使用Mechanize模块实现自动化表单处理三、参考文献之前的博客:爬虫学习系列02-常见的下载和抽取网页的方法爬虫学习系列03-下载缓存爬虫学习系列04 - 并发下载爬虫学习系列05 - 获取动态内容本节,将与网页进行交互,根据用户输入返回对应的内容。发送POST请求提交表单;使用cookie登陆网站;用于简化表单提交的高级模块Mechanize。...原创 2019-08-09 16:17:09 · 244 阅读 · 0 评论 -
python3爬虫学习系列05 - 获取动态内容
文章目录一、对动态网页进行逆向工程二、渲染动态网页三、# 参考文献之前的博客:爬虫学习系列02-常见的下载和抽取网页的方法爬虫学习系列03-下载缓存爬虫学习系列04 - 并发下载上一节我们实现了并发爬取功能,但是还存在着缺陷,那就是对于使用JavaScript的动态网站,这种网页在浏览器中展示的内容有许多都不会出现在html源代码中。书中提供了两种方法解决此类问题:1. JS逆向工程...原创 2019-08-09 14:29:21 · 175 阅读 · 0 评论 -
python3爬虫学习系列04 - 并发下载
文章目录一、多线程爬虫二、多进程爬虫三、参考文献之前的博客:爬虫学习系列02-常见的下载和抽取网页的方法爬虫学习系列03-下载缓存在之前的学习中我们都是以串行的方式执行代码,效率非常低下,如果爬取的url过多的话,这个效率是无法让人满意的,所以非常有必要实现并发爬虫。实现并发可以通过多线程或多进程来实现。进程指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组...原创 2019-08-09 13:18:18 · 215 阅读 · 0 评论 -
python3爬虫学习系列02-常见的下载和抽取网页的方法
文章目录3种常见的爬取网站的方法1. 爬取网站地图(sitemap)2. 遍历每个网页的数据库ID3. 跟踪网页链接3种常见的爬取网站的方法爬取网站地图(sitemap)遍历每个网页的数据库ID跟踪网页链接1. 爬取网站地图(sitemap)适用情况2. 遍历每个网页的数据库ID适用情况3. 跟踪网页链接适用情况...原创 2019-08-02 14:27:12 · 277 阅读 · 0 评论 -
python3爬虫学习系列03-下载缓存
文章目录一、修改爬取页面的逻辑二、缓存方式2.1 磁盘缓存2.2 数据库缓存三、参考文献在爬虫学习系列02-常见的下载和抽取网页的方法中我们下载了网页,然后抽取了了需要的数据。但是若是现在在抽取其它数据呢?难道还需要重新下载该网页吗?这对于大型网站而言,重新爬取网页可能需要耗费很长的时间,所以,有必要对已经爬取的网页进行缓存,让每个网页只下载一次。一、修改爬取页面的逻辑为了避免在每次下载的...原创 2019-08-03 16:53:26 · 236 阅读 · 0 评论