- 博客(27)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Python网络爬虫系列文章导航(建议收藏)
下面是我所发布所有关于 Python 爬虫系列的文章导航,便于学习爬虫的同道进行浏览和学习。爬虫基础爬虫基础(1)什么是网络爬虫爬虫进阶爬虫经典案例上述爬虫文章导航我将在后面不断进行更新,有什么不对的地方欢迎大家留言提出!...
2021-03-18 17:05:21
217
原创 爬虫框架Scrapy(13)保存数据到数据库
文章目录保存数据到数据库(一)数据保存至 MySQL 数据库1. 安装 pymysql2. 创建数据库与表3. 实现 MySQLPipeline(二)数据保存至 MongoDB 数据库1. 安装 pymongo2. 实现 MongoDBPipeline(三)数据保存至 Redis 数据库1. 安装 redis2. 实现 RedisPipeline(四)项目实例——爬取360图片保存到数据库1. 将数据保存到 MySQL 数据库2. 将数据保存到 MongoDB 数据库3. 运行爬虫保存数据到数据库在之前
2021-04-28 18:19:48
1751
原创 爬虫框架Scrapy(12)爬取动态页面
文章目录爬取动态页面(一)Splash 渲染引擎1. render.html 端点2. execute 端点3. 常用属性与方法(1)Splash 对象的属性(2)Splash 对象的方法(二)安装 Scrapy-Scrapy1. 安装 splash 服务器2. 安装 Scrapy-Splash 库3. plash Lua 脚本(三)在 Scrapy 中使用 Splash1. 页面分析2. 新建项目3. 添加配置4. 编写爬虫(1)编写 quotes.py(2)修改 item.py(3)修改 pipelin
2021-04-12 14:36:33
4866
原创 爬虫框架Scrapy(11)模拟登录
文章目录模拟登录(一)网站登录实质(二)发送 Post 请求模拟登录1. 使用 FormRequest2. 实现登录 Spider(三)携带 Cookies 模拟登录1. 人工获取 Cookie 模拟登录(1)人工获取 Cookie(2)模拟登录知乎2. Browsercookie 库获取 Cookie 模拟登录(1)获取浏览器 Cookie(2)实现 BrowserCookiesMiddleware(3)模拟登录知乎模拟登录目前,大部分网站都具有用户登录功能,其中某些网站只有在用户登录后才能获得有价值
2021-04-12 14:29:45
2196
原创 爬虫框架Scrapy(10)下载文件与图片
文章目录下载文件与图片(一)FilesPipeline 和 ImagesPipeline1. FilesPipeline 使用说明2. ImagesPipeline 使用说明(二)项目实例:下载 matplotlib 例子源码文件1. 页面分析2. 编码实现(1)创建项目文件(2)启用 FilesPipeline(3)Item 中封装数据(4)编写 spider 内容(三)项目实例:下载360图片1. 页面分析2. 编码实现(1)新建项目(2)构造请求(3)提取信息(4)存储数据下载文件与图片在之前的章
2021-03-27 23:25:17
951
1
原创 爬虫框架Scrapy(9)使用 Exporter 导出数据
文章目录使用 Exporter 导出数据1. 指定数据导出方法(1)命令行参数指定数据导出方式(2)配置文件指定数据导出方式2. 添加数据导出格式使用 Exporter 导出数据在 Scrapy 中,负责导出数据的组件被称为 Exporter(导出器),Scrapy 内部实现了多个 Exporter,每个 Exporter 实现一种数据格式的导出,支持的数据格式如下(括号中为相应的 Exporter):JSON (JsonItemExporter)JSON lines (JsonLinesItem
2021-03-24 14:48:00
908
原创 爬虫框架Scrapy(8)使用 LinkExtractor 提取链接
文章目录使用 LinkExtractor 提取链接1. 提取链接的方法(1)使用Selector(2)使用LinkExtractor2. LinkExtractor 提取链接的规则(1)allow(2)deny(3)allow_domains(4)deny_domains(5)restrict_xpaths(6)restrict_css(7)tags(8)attrs(9)process_value使用 LinkExtractor 提取链接1. 提取链接的方法在爬取一个网站时,想要爬取的数据通常分布在多
2021-03-23 22:41:26
1879
1
原创 爬虫框架Scrapy(7)Itme Pipeline 的用法
文章目录一. Itme Pipeline 的用法1. 实现 Item Pipeline2. 核心方法(1)process_item(item, spider)(2)open_spider(self, spider)(3)close_spider(spider)(4)from_crawler(cls, crawler)3. 如何使用 Item Pipeline 处理数据(1)数据去重(2)数据存储在 MongoDB二. 项目实战——以爬取 360 摄影美图1. 抓取分析2. 新建项目3. 构造请求4. 提取信
2021-03-23 18:59:23
737
原创 爬虫框架Scrapy(6)Spider Middleware 的用法
文章目录五. Spider Middleware 的用法1. 使用说明2. 核心方法五. Spider Middleware 的用法Spider Middleware 是介入到 Scrapy 的 Spider 处理机制的钩子框架。当 Downloader 生成 Response 之后,Response 会被发送给 Spider,在发送给 Spider 之前,Response 会首先经过 Spider Middleware 处理,当 Spider 处理生成 Item 和 Request 之后,Item 和
2021-03-23 18:56:16
708
原创 爬虫框架Scrapy(5)DownLoader Middleware 的用法
文章目录四. DownLoader Middleware 的用法1. 使用说明2. 核心方法3. 项目实战四. DownLoader Middleware 的用法Downloader Middleware 即下载中间件,它是处于 Scrapy 的 Request 和 Response 之间的处理模块。Scheduler 从队列中拿出一个 Request 发送给 Downloader 执行下载,这个过程会经过 Downloader Middleware 的处理。另外,当 Downloader 将 Requ
2021-03-23 18:54:55
400
原创 爬虫框架Scrapy(4)Spider的用法
文章目录Spider 的用法1. Spider 运行流程2. Spider 类分析Spider 的用法在 Scrapy 中,要抓取网站的链接配置、抓取逻辑、解析逻辑里其实都是在 Spider 中配置的。本节我们就专门了解一下 Spider 的基本用法。1. Spider 运行流程在实现 Scrapy 爬虫项目时,最核心的类便是 Spider 类了,它定义了如何爬取某个网站的流程和解析方式。简单来讲,Spider 要做的事就是如下两件:定义爬取网站的动作分析爬取下来的网页对于 Spider
2021-03-23 18:52:52
803
原创 爬虫框架Scrapy(3)使用Item封装数据
文章目录使用 Item 封装数据(一)Item 基类1. 自定义 Item2. 拓展 Item(二)Field 元数据(三)在多个爬虫里使用 Item使用 Item 封装数据我们首先来看上一篇文章在最后所写的那个实例中的 spider.py :import scrapyclass BooksSpider(scrapy.Spider): name = 'books' allowed_domains = ['books.toscrape.com'] start_urls =
2021-03-23 18:52:01
1674
原创 爬虫框架Scrapy(2)Selector的用法
文章目录Selector 的用法(一)直接使用 Selector(二)Scrapy Shell 模拟 Scrapy 请求(三)Xpath 选择器1. 基本用法2. 嵌套选择3. 以属性选择4. 获取节点内容5. 获取节点属性与文本(四)CSS 选择器1. 基本用法2. 嵌套选择3. 以属性选择4. 提取节点内容5. 提取节点文本与属性(五)正则表达式(六)三种方法组合使用Selector 的用法我们之前介绍了利用 'Xpath'、'Beautiful Soup'、'pyquery' 以及正则表达式来提取
2021-03-23 18:49:44
612
原创 爬虫框架Scrapy(1)Scrapy框架安装与项目开发
文章目录一. Scrapy框架简介1. Scrapy 框架介绍2. 数据处理流程二. Scrapy 及其依赖库的安装三. Scrapy 项目开发流程1. 常用命令2. 创建 Scrapy 项目3. 创建 Spider4. 创建 Item5. 解析 Response6. 使用 Item7. 后续 Request(1)继承 Scrapy.spider(2)为 Spider 命名(3)设定起始爬取点(4)实现页面解析函数8. 运行9. 保存到文件四. 实例——爬取书籍信息1. 创建项目2. 创建爬虫3. 解析 R
2021-03-23 18:47:25
968
原创 爬虫基础(9)数据存储之文件存储
文章目录一. TXT 文本存储1. 基本实例2. 打开方式二. JSON 文件存储1. 基本实例2. JSON 基础知识3. 写入 JSON4. 读取 JSON三. CSV 文件存储1. 基本实例2. 写入 CSV3. 读取 CSV一. TXT 文本存储1. 基本实例首先,可以用 requests 将网页源代码获取下来,然后使用 BeautifulSoup 解析库解析,完整代码如下:import requestsfrom bs4 import BeautifulSoupdef getHtml
2021-03-21 22:13:54
666
原创 爬虫基础(8)网页解析之pyquery库
文章目录一. pyquery库简介二. 安装pyquery库三. pyquery库详析1. 初始化(1)字符串初始化(2)URL初始化(3)文件初始化2. 基本CSS选择器3. 查找节点(1)子节点(2)父节点(3)兄弟节点4. 遍历5. 获取信息(1)获取属性(2)获取文本6. 节点操作(1)addClass 和 removeClass(2)attr、text 和 html(3)remove()7. 伪类选择器一. pyquery库简介PyQuery库也是一个非常强大又灵活的网页解析库,前端基础较好的
2021-03-21 22:10:42
592
原创 爬虫基础(7)网页解析之Beautiful Soup库
文章目录一. Beautiful Soup库简介二. 安装beautifulsoup库三. Beautiful Soup库的四个对象类1. Tag2. NavigableString3. BeautifulSoup4. Comment四. Beautiful Soup库详析(一)解析器(二)创建Beautiful Soup对象(三)节点选择器1. 选择元素2. 提取信息3. 嵌套选择4. 关联选择(四)方法选择器1. 获取子节点与子孙节点(1)find_all()(2)find()2. 获取父节点与祖先节点
2021-03-21 22:04:26
1377
2
原创 爬虫基础(6)网页解析之XPath库
文章目录一. XPath库简介二. 安装lxml库三. XPath库详析1. XPath常用的规则2. 选取所有节点3. 选取子节点4. 选取父节点5. 以属性匹配6. 获取文本7. 获取属性8. 属性多值匹配9. 多属性匹配10. 按序选择11. 节点轴选择一. XPath库简介XPath 全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。它最初是用来搜寻 XML 文档的,但是它同样适用于 HTML 文档的搜索。所以在做爬虫时,我们完全可以使用
2021-03-21 22:00:31
549
原创 爬虫基础(5)网页解析之正则表达式
文章目录一. 什么是正则表达式二. 正则表达式的基础知识(一)原子1. 普通字符2. 特殊字符和元字符3. 非打印字符4. 通用字符5. 原子表(二)元字符1. 任意匹配元字符2. 边界限制元字符3. 限定符4. 模式选择符5. 模式单元符(三)修饰符(四)贪婪模式与非贪婪模式三. 正则表达式常见的函数1. match()2. search()3. findall()4. compile()5. sub()四. 实例——爬取猫眼电影排行一. 什么是正则表达式什么是正则表达式?简单来说,正则表达式是一些
2021-03-21 21:58:13
1324
原创 爬虫基础(4)发送请求之requests库的使用
文章目录一. 什么是Requests库二. 安装Requests库三. Requests库的基本应用(一)发送请求1. 实例引入2. GET请求(1)最基本的GET请求(2)带参数的GET请求(3)解析JSON(4)抓取二进制数据(5)添加headers3. POST请求(二)接收响应1. 响应信息2. 响应状态码四. Requests库的高级应用(一)文件上传(二)Cookies1. 获取 Cookies2. 应用实例(三)维持会话、模拟登录(四)SSL证书验证(五)代理设置(六)超时设置(七)身份认证(
2021-03-21 21:53:47
2287
原创 爬虫基础(3)发送请求之urllib库与urllib3库的使用
文章目录一. urllib库与urllib3库的简介(一)什么是Urllib库(二)什么是urllib3库(三)urllib库与urllib3库的关系二. urllib库模块详析(一)发送请求1. urlopen方法2. Request对象3. 高级用法(1)使用Cookie(2)使用代理(二)解析链接1. 链接分段与合并2. 链接编码与解码3. 链接参数转换(三)处理异常1. URLError2. HTTPError3. 异常处理优化(四)分析Robots协议1. robots.txt文件是什么2. ro
2021-03-18 18:03:47
1867
原创 爬虫基础(2)网络爬虫的实现原理与技术
文章目录一. 爬虫技术实现原理二. 发送请求1. 请求行2. 请求头3. 空行4. 请求体三. 获取响应内容1. 响应行2. 响应头3. 空行4. 响应体四. 解析网页内容1. 提取链接2. 提取资源一. 爬虫技术实现原理Web网络爬虫系统的功能是下载网页数据,为搜索引擎系统提供数据来源。很多大型的网络搜索引擎系统都被称为基于 Web数据采集的搜索引擎系统,比如 Google、Baidu。由此可见Web 网络爬虫系统在搜索引擎中的重要性。网页中除了包含供用户阅读的文字信息外,还包含一些超链接信息。Web
2021-03-18 16:51:06
2479
原创 爬虫基础(1)什么是网络爬虫
文章目录一. 认识网络爬虫二. 网络爬虫的组成三. 网络爬虫的类型1. 通用网络爬虫2. 聚焦网络爬虫3. 增量式网络爬虫4. 深层网络爬虫(1)静态网页(2)深层页面和表层页面(3)网络爬虫表单填写四. 网络爬虫的用途一. 认识网络爬虫说起网络爬虫,人们常常会用这样一个比喻:如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地
2021-03-18 16:44:10
2586
原创 数据分析(2)Matplotlib绘制2D图表
文章目录一. 线型图(一)绘制单条线型图(二)绘制多条线型图(三)绘制折线图二. 直方图与密度图(一)直方图(二)核密度曲线(三)直方图与密度图叠加三. 条形图(一)垂直条形图(二)水平条形图(三)堆叠条形图(四)双向条形图(五)外嵌条形图四. 面积图(一)饼状图1. 基础饼状图2. 嵌套饼状图(二)面积图(三)填图五. 散点图(一)散点图1. 普通散点图2. 气泡图3. 多组散点图(二)矩阵散点图六. 热力图七. 箱线图八. 极坐标图(一)雷达图1. 普通雷达图2. 多变量雷达图3. 分面雷达图(二)极轴
2021-03-02 15:43:54
1969
原创 数据分析(1)Matplotlib基础内容
文章目录一. Matplotlib基础知识(一)底层容器层1. 画布Figure(1)plt.subplot()(2)plt.subplots()(3)fig.add_subplot()2. 图表Axes(二)辅助显示层1. 标题Title(1)plt.title()(2)plt.suptitle()2. 网格线Grid3. 坐标轴范围Axis(1)plt.axis()(2)plt.figure()(3)plt.xlim()和plt.ylim()(4)ax.set_xlim()和ax.set_ylim()4
2021-03-02 13:04:31
1244
原创 Python基础练习题
Python基础练习题# -*- coding:utf-8 -*-"""question 1:判断101-200之间有多少个素数,并输出所有素数"""import mathprime_number = []for num in range(101,201): count = 0 for divisor in range(2,int(math.sqrt(num))+1)...
2019-11-05 22:12:32
233
原创 Python Hashlib模块
Python Hashlib模块Hashlib模块提供了许多供我们调用的hash算法,主要有:1、md52.SHA系列:sha1, sha224, sha256, sha384, sha512程序运行结果如下图所示:
2019-11-05 21:36:32
176
空空如也
ubuntu虚拟环境中如何配置chromedriver
2021-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人