当前位置:首页 » 编程语言 » python爬虫下载文件

python爬虫下载文件

发布时间: 2022-10-20 13:16:42

python编程基础之(五)Scrapy爬虫框架

经过前面四章的学习,我们已经可以使用Requests库、Beautiful Soup库和Re库,编写基本的Python爬虫程序了。那么这一章就来学习一个专业的网络爬虫框架--Scrapy。没错,是框架,而不是像前面介绍的函数功能库。

Scrapy是一个快速、功能强大的网络爬虫框架。

可能大家还不太了解什么是框架,爬虫框架其实是实现爬虫功能的一个软件结构和功能组件的集合。

简而言之, Scrapy就是一个爬虫程序的半成品,可以帮助用户实现专业的网络爬虫。

使用Scrapy框架,不需要你编写大量的代码,Scrapy已经把大部分工作都做好了,允许你调用几句代码便自动生成爬虫程序,可以节省大量的时间。

当然,框架所生成的代码基本是一致的,如果遇到一些特定的爬虫任务时,就不如自己使用Requests库搭建来的方便了。

PyCharm安装

测试安装:

出现框架版本说明安装成功。

掌握Scrapy爬虫框架的结构是使用好Scrapy的重中之重!

先上图:

整个结构可以简单地概括为: “5+2”结构和3条数据流

5个主要模块(及功能):

(1)控制所有模块之间的数据流。

(2)可以根据条件触发事件。

(1)根据请求下载网页。

(1)对所有爬取请求进行调度管理。

(1)解析DOWNLOADER返回的响应--response。

(2)产生爬取项--scraped item。

(3)产生额外的爬取请求--request。

(1)以流水线方式处理SPIDER产生的爬取项。

(2)由一组操作顺序组成,类似流水线,每个操作是一个ITEM PIPELINES类型。

(3)清理、检查和查重爬取项中的HTML数据并将数据存储数据库中。

2个中间键:

(1)对Engine、Scheler、Downloader之间进行用户可配置的控制。

(2)修改、丢弃、新增请求或响应。

(1)对请求和爬取项进行再处理。

(2)修改、丢弃、新增请求或爬取项。

3条数据流:

(1):图中数字 1-2

1:Engine从Spider处获得爬取请求--request。

2:Engine将爬取请求转发给Scheler,用于调度。

(2):图中数字 3-4-5-6

3:Engine从Scheler处获得下一个要爬取的请求。

4:Engine将爬取请求通过中间件发送给Downloader。

5:爬取网页后,Downloader形成响应--response,通过中间件发送给Engine。

6:Engine将收到的响应通过中间件发送给Spider处理。

(3):图中数字 7-8-9

7:Spider处理响应后产生爬取项--scraped item。

8:Engine将爬取项发送给Item Pipelines。

9:Engine将爬取请求发送给Scheler。

任务处理流程:从Spider的初始爬取请求开始爬取,Engine控制各模块数据流,不间断从Scheler处获得爬取请求,直至请求为空,最后到Item Pipelines存储数据结束。

作为用户,只需配置好Scrapy框架的Spider和Item Pipelines,也就是数据流的入口与出口,便可完成一个爬虫程序的搭建。Scrapy提供了简单的爬虫命令语句,帮助用户一键配置剩余文件,那我们便来看看有哪些好用的命令吧。

Scrapy采用命令行创建和运行爬虫

PyCharm打开Terminal,启动Scrapy:

Scrapy基本命令行格式:

具体常用命令如下:

下面用一个例子来学习一下命令的使用:

1.建立一个Scrapy爬虫工程,在已启动的Scrapy中继续输入:

执行该命令,系统会在PyCharm的工程文件中自动创建一个工程,命名为pythonDemo。

2.产生一个Scrapy爬虫,以教育部网站为例http://www.moe.gov.cn:

命令生成了一个名为demo的spider,并在Spiders目录下生成文件demo.py。

命令仅用于生成demo.py文件,该文件也可以手动生成。

观察一下demo.py文件:

3.配置产生的spider爬虫,也就是demo.py文件:

4.运行爬虫,爬取网页:

如果爬取成功,会发现在pythonDemo下多了一个t20210816_551472.html的文件,我们所爬取的网页内容都已经写入该文件了。

以上就是Scrapy框架的简单使用了。

Request对象表示一个HTTP请求,由Spider生成,由Downloader执行。

Response对象表示一个HTTP响应,由Downloader生成,有Spider处理。

Item对象表示一个从HTML页面中提取的信息内容,由Spider生成,由Item Pipelines处理。Item类似于字典类型,可以按照字典类型来操作。

Ⅱ python 下载文件到文件夹下的问题

open文件的时候就可以设置文件的路径,比如,这里改成
open(r'd:\download\google.gif', 'wb').write(rs)
就保存到那个文件夹下了。

Ⅲ Python爬虫是什么

爬虫一般是指网络资源的抓取,由于Python的脚本特性,易于配置对字符的处理非常灵活,Python有丰富的网络抓取模块,因此两者经常联系在一起Python就被叫作爬虫。

Python爬虫的构架组成:

Ⅳ 学校机房的python怎么下

和正常下载一样。
1、Python爬虫,首先需要本地电脑上安装有Python,这里我简单说一下Python的安装,我相信学爬虫的同学们肯定有一定的Python基础了。
2、首先,进入到Python官网,你可以直接输入Python主页,也可以从网络搜索框进入到Python的主页,这里方法很多,我不再一一列举了,在主页上可以看见Downloads字样,点击下载,然后跳转出下载界面。
3、跳转出Python下载界面,选择一个版本进行下载,这里的我3.X和2.7.X版本的差别还是蛮大的,这里我就不多说了。Python2.7的支持包要更加全面完善,Python3的包扩展可能比较少,但是正在慢慢开发;Python2.7预计在202X停止更新了Python学习q-u-n七八四,七五八,二一四教程视频,工具,各类实战操作分享。
4、下载好后,点击安装包,依据提示点击下一步即可,这里相信大家没有任何的问题。
5、安装好后,按windos键加R键,弹出运行窗口,在运行窗口输入cms进入到命令行界面,然后输入Python,如果安装成功,即可进入到Python交互界面,如果没有则表示Python没有安装成功。

Ⅳ 使用Python爬虫下载图片,得到的图片不显示

你需要检查一下你的结果,看看是否请求成功了。可能服务器返回的并不是一个图片,但是你强制给他写入到图片格式文件中了,所以没办法显示。
你可以通过输出response或者使用抓包软件来检查。

Ⅵ python爬虫如何创建image文件夹

有自动创建功能,也可以使用代码。1.观察网页,找到img标签;2.通过requests和BS库来提取网页中的img标签;3.抓取

_mg标签后,再把里面的src给提取出来,接下来就可以下载图片了;

?

?4.通过urllib的urllib.urlretrieve来下载图片并且放进文件夹里面(第一之前的准备工作就是获取当前路径然后新建一个文件夹);

?5.如果有多张图片,不断的重复3-4。

Ⅶ python爬虫 将在线html网页中的图片链接替换成本地链接并将html文件下载到本地

正则匹配原链接替换为本地路径即可

Ⅷ 请问怎么通过python爬虫获取网页中的pdf文件

首先把链接URL爬取出来,然后get流下载pdf文件,再用pdf模块来读取它。

Ⅸ 新手用python3写网络爬虫可是下载总不成功

这是编码格式错误,你在代码前面添加 #-*-coding:utf-8-*-

热点内容
源码带支付接口 发布:2024-12-26 12:36:29 浏览:636
我的世界服务器公告栏内容怎么改 发布:2024-12-26 12:35:53 浏览:157
python的类方法 发布:2024-12-26 12:31:12 浏览:359
编译器c语言输入不了中文 发布:2024-12-26 12:21:05 浏览:42
配电脑用什么配置 发布:2024-12-26 12:21:05 浏览:285
不知密码如何删除短信 发布:2024-12-26 12:05:46 浏览:892
普通民众怎么存储汽油 发布:2024-12-26 12:05:36 浏览:628
安卓手机已安装的软件如何备份 发布:2024-12-26 12:04:59 浏览:421
好玩儿的我的世界服务器电脑 发布:2024-12-26 12:04:58 浏览:112
C表格源码 发布:2024-12-26 11:56:18 浏览:680