scrapy 爬电影 抓取数据

编程知识 行业动态 更新时间:2024-06-13 00:19:57

前段时间学python学完了基础的知识当然是要来点实际的东西玩玩了。爬虫,这个对于python再适合不过,今天就先来爬一个电影网站,下一篇我们来爬美女图片,这篇就做为一个爬虫基础练练手。将他有的资源信息爬下来保存成一个csv文件。

环境 mac python3.6.1 pycharm

Step1

默认scrapy的环境是安装好的。我们在终端里输入scrapy startproject 工程名新建一个爬虫项目,scrapy会为我们初始化一个基本结构如下图:

其中Id97Index.py是我们编写逻辑的文件,也是我们自己建的。除此之外都会在新建项目时生成。

Step2

在items.py中创建我们的实体类:

分别为“封面”、“电影名”、“评分”、“类型” 该实体类会在后面提交数据时scrapy进行写入需要用到的,总之呢。你需要存什么数据就写对应字段,后面保存文件后你就明白了

Step3

现在可以开始写我们爬虫的逻辑了 如Step1我们在spiders文件夹下新建一个Index97Index.py再新建类Id97Movie继承CrawlSpider如下:

其中 name为我们启动项目的名字 host主要为后面做一些拼接 allowed_domains主域名 start_urls需要请求爬的初始urls

从源码可以看到namestart_urls是必要的参数,并且一开始的请求是循环start_urls,所以一定不能忘记,名字也不能定义。

Step4

覆写parse方法

  • 根据chrome中查看到每个item内容都在红框中这个标签内,我们可以右键选择copy xpath(xpath知识可以google两分钟就会)进行xpath选取
  • 获取下一页url,同样找到下一页的xpath。这里我是把最下面的"上一页,下一页 页码"都拿来。因为下一页这个标签总在倒数第二个就可以使用pages[-2]获取下一页的url
  • for循环处理每个列表列的内容使用parse_item方法处理
  • 最后yield Request(nextPageUrl, callback=self.parse)再次请求下一页的内容,依然使用parse方法处理这样循环直到最后一页 parse_item代码:

Step5

设置settings.py我们需要一个存放路径及格式

Step6

到该项目的目录下在终端执行scrapy crawl name(step3中所说的name='id97'),也可将命令直接放在python文件中进行执行

至此这个爬虫就基本结束了。settings.py中还有一些优化配置网上还是比较多的。可以自行配置试试看 源代码: 源码地址

更多推荐

scrapy 爬电影 抓取数据

本文发布于:2023-03-29 06:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/637eeba3eb7fff489127e0ab71890a66.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   电影   scrapy

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!