随笔分类 - 网络爬虫
网络爬虫的学习
摘要:1.Scrapy项目的默认结构 所在有目录为项目的根目录。此文件包含了配置文件的说明。 默认情况下会使用 这个配置。可以使用 环境变量来指定不同的项目。 2.scrapy工具的使用 直接运行获得帮助说明: 创建项目: 控制项目: 可用的工具命令:
阅读全文
摘要:当Spider收集Item后会把它传递到Item管道,按照一定的顺序执行处理。每个Item管道组件是实现了简单方法的Python类,接收到Item后执行一些行为,可以决定此Item是否继续通过管道,或被丢弃。 Item管道的典型应用有: 1.编写Item管道 每个Item管道组件是一个独立的Pyth
阅读全文
摘要:当抓取网页时,最常见的任务是从HTML源码中提取数据,用Beautiful Soup或lxml都可以。Beautiful Soup是基于HTML代码的结构来构造一个Python对象,对不良标记的处理也很合理,缺点就是慢。而lxml是基于ElementTree(不是Python标准库的一部分)的Pyt
阅读全文
摘要:`Spider`类定义如何爬取指定的一个或多个网站,包括是否要跟进网页里的链接和如何提取网页内容中的数据。 爬取的过程是类似以下步骤的循环: 1. 类 2.爬虫参数 爬虫可以接受参数来改变它的行为。这些参数一般用来定义初始URL,或者限定爬取网站的部分内容,也可以用来配置其它任何功能。 在运行 命令
阅读全文
摘要:爬虫的主要目标是从页面爬取非结构性的数据然后提取出结构性数据。Scrapy提供 类可以实现这样的要求。 对象是简单的容器,用于保存爬取到的数据。 1. 类 2. 类 3.声明 使用简单的类定义语法和 对象来声明。 4. 字段 对象指定了每个字段的元数据(metadata)。每个字段可以指明任何类型的
阅读全文
摘要:1.进入到一个要创建Scrapy项目的文件夹,然后运行以下命令来生成默认的Scrapy项目结构。 在Linux CentOS 6.10中,运行 然后生成的目录结构如下: 2.定义Item 打开 ,把 类改为: 3.Spider爬虫 在 文件夹中新建 ,代码如下: 然后在 的目录下,运行 运行完,会在
阅读全文
摘要:默认的情况下,Scrapy项目的默认结构如下: 1.scrapy.cfg Scrapy的项目配置文件。配置参数是以ini文件的风格来定义,即 的格式 。这里的scrapy.cfg是位于项目根目录。Scrapy也会查找系统和用户的scrapy.cfg。 系统级的配置文件位于 或`c:\scrapy\s
阅读全文
摘要:1.安装 2.官网的一个简单例子 "https://docs.scrapy.org/en/latest/intro/overview.html" 在Linux CentOS 6 10下: 然后把上面的代码粘上去, 保存并退出 。然后运行这个爬虫。 跑完后,会在当前目录下生成 。 显示输出文件的内容:
阅读全文
摘要:引用官网( "https://docs.scrapy.org/en/latest/topics/architecture.html" )的一张图: Scrapy的数据流是由执行引擎控制的,具体流程如上图的红圈数字所示: 1.引擎(Engine)从爬虫程序(Spider)获取要抓取的初始请求(Requ
阅读全文
摘要:1.安装 在Linux CentOS 6.10下可以这样安装: 2.简单导入 3._ElementInterface类 4.Element工厂 5.ElementTree类 6.SubElement工厂 7.一些函数 8.简单的使用演示
阅读全文
摘要:XPath是在XML文档中查找信息的语言,可对元素和属性进行遍历。 利用以下的XML内容。 1.节点关系 2.节点选取 | 表达式 | 说明 | 例子 | 例子的结果说明 | | : : | : | : | : | | nodename | 节点的所有子节点 | bookshop | booksho
阅读全文
摘要:1.安装Beautiful Soup4 2.Linux CentOS 6.10安装lxml Beautiful Soup支持一些第三方的解析器,如果不安装第三方的,则默认会用Python标准库中的HTML解析器。lxml解析器更加强大,速度更快,因此安装。 3.解析器对比 | 解析器 | 用法 |
阅读全文
摘要:1.安装requests 2.基本请求 3.异常 4.请求会话 5.下层类 6.更下层类 7.身份验证类 8.编码 9.Cookies 10.状态码 11.例子演示
阅读全文
摘要:1.简单爬取一个页面 2.通过构造Request请求对象 3.POST和GET数据传送 4.设置Headers Header的一些属性说明: User Agent:通过该值来判断是否为浏览器发出的请求。 Content Type:使用REST接口时,服务器会检查此值来确定Body中的内容要怎样解析。
阅读全文
浙公网安备 33010602011771号