1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250

python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250

时间:2022-04-14 00:15:10

相关推荐

python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250

今天要实现的就是使用是scrapy爬取豆瓣电影TOP250榜单上的电影信息。

步骤如下:

一、爬取单页信息

首先是建立一个scrapy项目,在文件夹中按住shift然后点击鼠标右键,选择在此处打开命令行窗口,输入以下代码:scrapy startproject DouBan

然后打开pycharm,再打开我们建立好的DouBan项目,我们这次的目标是爬取榜单上的电影名称,导演主演信息,评分以及一句话短评内容,所以我们在items.py中输入如下代码:

写好了items.py后,再在spiders文件夹下新建一个douban.py文件,输入以下代码:

在start_urls中包含的就是我们要爬取的网页链接,parse方法就是实现解析网页获取我们需要的内容。

由于原网页是一个很明显的表单结构,所以在这里我们选择使用xpath来解析网页,点击想要爬取的元素,右键选择Copy Xpath就可以轻松获得该元素的xpath。

利用xpath可以轻松获得一页上的信息,这些信息都存在一个列表之中,这个时候我们就需要使用前面定义的DouBanItem了,定义一个item为DouBanItem对象,然后将爬取到的每个电影的信息保存在item之中,代码如下:

二、实现翻页

这样我们就成功爬取了一页的信息,那么我们如何实现翻页呢?

观察网页可以发现点击“后页”时就会跳转到下一页,而“后页”对应的元素之中保存着下一页的部分链接信息,和“/top250”拼凑在一起就构成了下一页的链接,这样我们就可以实现翻页了。而到了最后一页,“后页”对应的元素之中就没有href这个属性了,因此需要加入一个判断来确定是否还有下一页。

实现翻页的代码如下:

三、保存数据

数据都已经爬取下来了,我们应该怎么保存呢?我这次选择把数据保存到一个csv文件中,实现方法如下:

打开settings.py文件,输入一下两行代码FEED_URI = u"file:///E://douban.csv"

FEED_FORMAT = "CSV"

四、添加main.py

由于每次运行scrapy项目都要在命令行中输入scrapy crawl 项目名称,这样会有些麻烦,那么有没有简单点的方法就能运行项目呢?

答案当然是有的,首先是在项目文件夹下新建一个main.py文件,然后在main.py里输入一下代码,再运行main.py,就能轻松运行整个scrapy项目了。

五、douban.py具体代码

六、运行结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。