数据结构论坛

首页 » 分类 » 定义 » 第8天10天搞定Python网络爬虫,才
TUhjnbcbe - 2023/7/14 21:01:00
彭洋 https://mysk.familydoctor.com.cn/347381

有了Scrapy之后,爬数据确实轻松了不少。用相同的姿势,爬文字方便,爬图也方便,特别是校花(图片下载地址)。我知道,一说到美女,一说到校花,你就不想再听我啰嗦,不想再听我多说一句话,我懂得,你不用掩饰了,代码马上就来。

8.1新建项目

打开命令行窗口(或终端),输入:scrapystartprojectbelle,新建项目并用cd命令进到belle目录下。输入:

生成爬虫代码。用PyCharm打开项目,在spiders目录下,新建run.py文件。项目结构如下,自己核对一下。

8.2配置文件

爬虫用到的一些常用参数,直接在配置文件settings.py里,进行配置就好了。默认BOT_NAME、SPIDER_MODULES、NEWSPIDER_MODULE节点不用更改。

ROBOTSTXT_OBEY表示是否遵循robots.txt协议,设为True时,表示遵守。但遵守的话,大多数网站你将爬取不到数据。所以要改为False。

DOWNLOAD_DELAY从名字就可以知道,意思就是下载延迟时间。DEFAULT_REQUEST_HEADERS为请求头部信息。

另外如果你不喜欢每次都输出一大推提示信息的话,你可以用LOG_LEVEL设置日志的级别,如果想将日志输出到文件里的话,可配置LOG_FILE节点。

重点的是ITEM_PIPELINES这个节点,不要忘记配置了,它指定了爬虫解析之后,数据的后续处理类,是保存到文件,还是数据库等。

8.3数据结构

打开items.py文件,加上图片名称和源(图片下载地址)的字段。items文件,主要起到用实体类传输数据的作用(Java开发时常用)。

8.4数据后续处理

对传输过来的数据进行后续处理,是保存到文件,是保存到数据库,还是保存成图片等,就在这里处理。pipelines.py是PeriSpider的最佳搭档。用10位时间戳成为图片的名称,避免重名。

8.5爬虫功能实现

用xpath取标签里的属性时,用

属性名,在这里我们取图片的链接地址。用set存放是为了过滤掉重复的链接地址。

8.6爬起来爬起来

打开run.py文件,输入如下代码,运行之后就可以见到你做梦都想见到的校花们了。

输出结果(部分)

好了,有关scrapy爬取校花的内容,老陈讲完了,如果觉得对你有所帮助,希望老铁能转发点赞,让更多的人看到这篇文章。你的转发和点赞,就是对老陈继续创作和分享最大的鼓励。

#Python爬虫#

1
查看完整版本: 第8天10天搞定Python网络爬虫,才