Python爬取豆瓣电影信息_第1页
Python爬取豆瓣电影信息_第2页
Python爬取豆瓣电影信息_第3页
Python爬取豆瓣电影信息_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这篇文章主要介绍使用Python爬取豆瓣上热门电影的信息,包括电影名称、海报、评分等信息。在开始介绍本项目前,先简单介绍下网上的信息是如何被“爬”下来的。我们看到的网页都是用HTML+CSS+JS等语言写出,而页面中加载文字、图片、视频等元素也是通过嵌入到超文本标记语言中展现。我们可以在打开一个网页后通过键盘上F12键或单击鼠标右键选择“查看源文件”查看该网页的源码,我们想要的抓取的文字、图片、视频等信息也都嵌入在该超文本标记语言中。见图:接下来,我们开始正式介绍本项目,Python爬取豆瓣热门电影:1、

首先准备项目开发环境安装lxml、Scrapy、urllib、json等关键库文件pipinstalllxmlpipinstallScrapypipinstallurllibpipinstalljson2、

构建整体思路本次爬虫使用scrapy框架,scrapy中定义了数据的请求、返回、调度、保存、持久化等行为,通过调用scrapy大大简化了人为编程量。执行:scrapystartprojecttutorial,安装好scrapy后的文件系统是这样:我们只需重写dmoz_spider.py文件即可。3、

分析网页开始动手时一直抓不到豆瓣上电影的信息,掉在在坑里冥思苦想+各种搜索学习后发现豆瓣上有关电影的信息都是采用ajax方式加载到HTML中,于是在Network下找到加载ajax的链接,将该链接作为请求地址。4、动手编程第一步:先定义请求网页原址:name='douban'allowed_domains=[""]start_list=[]foriinrange(1,14):url='/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start='+str(i*20)start_list.append(url)start_urls=start_list#定义start_urls为一个存储链接的列表第二步:重写请求头文件:defstart_requests(self):user_agent='Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/49.0.2623.22Safari/537.36SE2.XMetaSr1.0'headers={'User-Agent':user_agent}forurlinself.start_urls:yieldscrapy.Request(url=url,headers=headers,method='GET',callback=self.parse)第三步:在获取的网页源码中提取信息:defparse(self,response):hxs=response.body.decode('utf-8')hjson=json.loads(hxs)#字典forlisinhjson['subjects']:item=Tutorial2Item()#实例化类item["info"]=lis['url']item["pic"]=lis['cover']item["score"]=lis['rate']item["title"]=lis['title']filename=item["title"]+'_'+item["score"]+'分'+'.jpg'urllib.request.urlre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论