网页视频抓取软件 格式工厂( 网上摘录的一段介绍框架的文字,大过年的懒癌高发期)
优采云 发布时间: 2022-01-02 20:01网页视频抓取软件 格式工厂(
网上摘录的一段介绍框架的文字,大过年的懒癌高发期)
Scrapy 是一个用 Python 编写的爬虫框架,简单、轻量、非常方便。 Scrapy 使用异步网络库 Twisted 来处理网络通信。架构清晰,收录各种中间件接口,可以灵活满足各种需求。
以上摘自网上,介绍了scrapy框架。是懒癌高发期...
安装scrapy,pip可以解决你的问题:pip install scrapy。
这里插一句,如果运行代码后看到这个错误:
ImportError: No module named win32api
出现一个深坑,需要安装pywin32。如果已经安装了pywin32出现错误,还是需要手动将你的python安装目录放到\Lib\site-packages\pywin32_system32下:pythoncom27.dll,复制pywintypes27.这两个文件dll 到 c:\windows\system32!当然,如果不是windows系统,请无视!
话不多说,开始我们的爬虫吧!
首先分析网页结构:
1、url:打开旅行者的主页,这里我用的是火狐,见下图
点击精彩游记,然后跳出游记页面,
然后点击所有游记,就会出现我们的目标,拖到最下方,共3993页,1页20篇
一个非常简单的网站
2、我们开始分析每个页面的数据,直接打开F12抓包,然后刷新网页或者点击其他页面看看服务器返回的请求是什么!
找到一个get请求,里面有json格式的内容,里面有游记的作者、标题、缩略图等,ok,可以开始写代码了!
Ps:这里我们只是做一个简单的页面目录爬虫,不会一一抓取文章的内容(需要的可以自行添加相关内容)。
3、 打开cmd新建一个scrapy框架,命令是:scrapy startproject autohome,然后系统会自动帮我们创建相关目录和py文件,我们还是需要手动创建一个spider。 py(文件名可以取自Take)放入我们的爬虫
首先打开item.py,这里是我们的目标,告诉爬虫我们要爬取什么!代码如下:
然后打开setting.py(如果没有必要,不要修改这里的内容),把ROBOTSTXT_OBEY的值改成False(如果不改,有些内容是爬不出来的,这里是选择是否跟随robots协议),然后改变你的UA写在下面的header信息中!
别担心其他的一切。最后,打开spider文件夹,我们就要开始写爬虫了!
4、打开新建的py文件,先导入用到的模块
(如果导入模块后有错误提示,可以忽略),编写如下代码:
第6行的名字是唯一的,你可以自己命名
第7幕定义了爬虫的作用域,即允许执行的URL的作用域是:,注意这里是列表的形式
9.10.11 是抓取的内容所在的url,通过yield Request返回。上图没有截断,全部分为:
yield Request('https://you.autohome.com.cn/summary/getsearchresultlist?ps=20&pg={}&type=3&tagCode=&tagName=&sortType=3'.format(pg),self.parse)
因为只有3993页,所以可以直接在for循环中检索所有页码。定义start_requests函数后,可以省略start_urls列表,即起始列表。
第14行开始定义爬取方法
第15行,将json格式的内容赋值给一个变量
第16行,初始化导入的Items文件中定义的类
第17-24行,循环json格式的内容,给item赋值,其中item为字典格式,然后返回items文件
我已经在这里写完了这个爬虫。为了使用方便,我们直接把结果写成json格式
打开cmd,命令:scrapy crawl autohome -o autohome.json -t json
因为我们抓取的内容很少,所以速度还是很快的
大约十分钟,数据就会被抓到!来看看结果吧,因为是json格式,可以截个短片,找到一个可以在线解析的网页。
验证:
太简单了!
喜欢就关注吧(;°○°)!