
爬虫
Idea King
勤练带来力量
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初识 Scrapy 高级功能
文章目录1. 前言2. Downloader 中间件3. Spider 中间件4. 扩展5. 核心 API6. 信号7. Item exporters8. 参考文献 1. 前言 2. Downloader 中间件 3. Spider 中间件 4. 扩展 5. 核心 API 6. 信号 7. Item exporters 8. 参考文献 [1] [2] [3] [4] ...原创 2020-07-06 21:48:08 · 541 阅读 · 0 评论 -
初识 Scrapy
文章目录什么是Scrapy?scrapy BS 和 lxml爬取顺序需要解析的数据过大怎么办?部署 Scrapy 爬虫11创建Scrapy项目 什么是Scrapy? Scrapy是一个应用框架,常用于爬取网站和抽取结构化数据。 scrapy BS 和 lxml BeautifulSoup 是解析 HTML 的库 lxml 是一个解析 HTML 和 xml 的库 scrapy 是爬虫应用框架 爬取顺序 默认的爬取顺序是DFS,因为默认使用栈来存放爬虫请求。 需要解析的数据过大怎么办? 在使用XPath选择器解原创 2020-07-03 16:32:27 · 415 阅读 · 0 评论 -
初识 Scrapy - Item Loader
文章目录使用Item Loader输入和输出处理器声明Item Loader声明 输入/输出处理器Item Loder 上下文嵌套Loader Scrapy并不是直接填充items,而是有自己的机制。 items为爬取的数据提供容器,Item Loader为该容器提供了填充机制。 使用Item Loader from scrapy.loader import ItemLoader from myproject.items import Product def parse(self, response):原创 2020-07-03 16:30:31 · 354 阅读 · 0 评论 -
初识 Scrapy - Feed导出
文章目录序列化格式JSONJSON linesCSVXMLPickleMarshal存储本地文件系统FTPS3标准输出设置 在实现scraper时,最经常需要的功能之一是能够正确地存储被抓取的数据,这通常意味着用被抓取的数据(通常称为“导出提要”)生成一个“导出文件”,供其他系统使用。 Scrapy通过Feed导出提供了这样一个开箱即用的功能。允许你根据抓取的items使用多种序列化格式和存储后端生成feeds。 序列化格式 JSON JSON lines CSV XML Pickle Marshal 存储原创 2020-07-03 16:22:45 · 757 阅读 · 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 · 320 阅读 · 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 · 457 阅读 · 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 · 286 阅读 · 0 评论 -
python3爬虫学习系列07 - 处理验证码
文章目录1. 加载验证码图像Pillow和PIL的对比2. 光学字符识别抽取文本3. 处理复杂的验证码4. 参考文献 之前的博客: 爬虫学习系列02-常见的下载和抽取网页的方法 爬虫学习系列03-下载缓存 爬虫学习系列04 - 并发下载 爬虫学习系列05 - 获取动态内容 python3爬虫学习系列06 -表单交互 本节,将与网页进行交互,根据用户输入返回对应的内容。 发送POST请求提交表单;...原创 2019-08-09 20:11:27 · 435 阅读 · 0 评论 -
python3爬虫学习系列06 -表单交互
文章目录一、登陆表单2. 使用Mechanize模块实现自动化表单处理三、参考文献 之前的博客: 爬虫学习系列02-常见的下载和抽取网页的方法 爬虫学习系列03-下载缓存 爬虫学习系列04 - 并发下载 爬虫学习系列05 - 获取动态内容 本节,将与网页进行交互,根据用户输入返回对应的内容。 发送POST请求提交表单; 使用cookie登陆网站; 用于简化表单提交的高级模块Mechanize。 ...原创 2019-08-09 16:17:09 · 295 阅读 · 0 评论 -
python3爬虫学习系列05 - 获取动态内容
文章目录一、对动态网页进行逆向工程二、渲染动态网页三、# 参考文献 之前的博客: 爬虫学习系列02-常见的下载和抽取网页的方法 爬虫学习系列03-下载缓存 爬虫学习系列04 - 并发下载 上一节我们实现了并发爬取功能,但是还存在着缺陷,那就是对于使用JavaScript的动态网站,这种网页在浏览器中展示的内容有许多都不会出现在html源代码中。 书中提供了两种方法解决此类问题: 1. JS逆向工程...原创 2019-08-09 14:29:21 · 220 阅读 · 0 评论 -
python3爬虫学习系列04 - 并发下载
文章目录一、多线程爬虫二、多进程爬虫三、参考文献 之前的博客: 爬虫学习系列02-常见的下载和抽取网页的方法 爬虫学习系列03-下载缓存 在之前的学习中我们都是以串行的方式执行代码,效率非常低下,如果爬取的url过多的话,这个效率是无法让人满意的,所以非常有必要实现并发爬虫。 实现并发可以通过多线程或多进程来实现。进程指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组...原创 2019-08-09 13:18:18 · 281 阅读 · 0 评论 -
python3爬虫学习系列02-常见的下载和抽取网页的方法
文章目录3种常见的爬取网站的方法1. 爬取网站地图(sitemap)2. 遍历每个网页的数据库ID3. 跟踪网页链接 3种常见的爬取网站的方法 爬取网站地图(sitemap) 遍历每个网页的数据库ID 跟踪网页链接 1. 爬取网站地图(sitemap) 适用情况 2. 遍历每个网页的数据库ID 适用情况 3. 跟踪网页链接 适用情况 ...原创 2019-08-02 14:27:12 · 345 阅读 · 0 评论 -
python3爬虫学习系列03-下载缓存
文章目录一、修改爬取页面的逻辑二、缓存方式2.1 磁盘缓存2.2 数据库缓存三、参考文献 在爬虫学习系列02-常见的下载和抽取网页的方法中我们下载了网页,然后抽取了了需要的数据。但是若是现在在抽取其它数据呢?难道还需要重新下载该网页吗?这对于大型网站而言,重新爬取网页可能需要耗费很长的时间,所以,有必要对已经爬取的网页进行缓存,让每个网页只下载一次。 一、修改爬取页面的逻辑 为了避免在每次下载的...原创 2019-08-03 16:53:26 · 316 阅读 · 0 评论