网页视频抓取软件 格式工厂( 网上摘录的一段介绍框架的文字,大过年的懒癌高发期)

优采云 发布时间: 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格式,可以截个短片,找到一个可以在线解析的网页。

  

  

  

  验证:

  

  太简单了!

  喜欢就关注吧(;°○°)!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线