- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
题目概述
实验题目:实验七网络爬虫。
实验要求与目的:熟悉爬虫工作原理,用相关的python工具包实现网络爬虫。
实验内容:爬取TOP250电影的所有短评以及电影的相关数据。爬取TOP250豆瓣电影所有短评,以及电影的相关信息,包括电影类型,上映时间,以及演员列表等信息。
开发平台及开源工具
本次信息检索实验使用的是python语言,开发工具为PyCharm2021.3,操作系统为Windows10和Ubuntu18.04服务器,第三方库均使用pip安装。
本次实验使用的第三方库主要有selenium(自动登录与信息爬取)、matplotlib(词频统计可视化)、numpy(矩阵处理)、jieba(分词)等。
详细设计
文件说明
douban_movies.py
主要就是构造TOP250排行榜每一页的链接,然后解析每一页的电影名和电影页链接,然后发出爬取电影页信息的Request,之后利用xpath或者pyquery正常解析网页信息即可。
defstart_requests(self):
base_url=/top250?start=$filter=
forstartinrange(10):
url=str.replace(base_url,$,str(start*25))
(url)
yieldRequest(url,callback=self.parse_top250)
defparse_top250(self,response):
top250_movie_info_item=TOP250MovieInfoItem()
html=response.text
doc=pq(html)
all_movies=doc(#contentdivdiv.articleollidiv)
formovieinall_movies.items():
sleep_time=random.uniform(0.5,1)
time.sleep(sleep_time)
movie_link=movie(div.hda).attr(href)
title=movie(div.hdaspan.title).text()
top250_movie_info_item[title]=title
top250_movie_info_item[movie_link]=movie_link
(top250_movie_info_item)
yieldtop250_movie_info_item
#然后发出爬取每个movie的具体信息的request
(movie_link)
yieldRequest(movie_link,callback=self.parse_movie_item)
pipeline.py
#因为在process_item中会根据不同的Item进行不同的查询防止爬取重复的信息,所以对不同的collection设置了不同的索引,毕竟最后爬取到的短评有33万多条,设置一下索引对速度还是有提升的
defopen_spider(self,spider):
self.client=pymongo.MongoClient(self.mongo_uri)
self.db=self.client[self.mongo_db]
self.db[TOP250MovieInfoItem.collection].create_index([(movie_link,pymongo.ASCENDING)])
self.db[MovieInfoItem.collection].create_index([(movie_link,pymongo.ASCENDING)])
self.db[CommentInfoItem.collection].create_index([(commenter_link,pymongo.ASCENDING),(commen
您可能关注的文档
- 网络空间安全概论 实验7网络爬虫 多线程CSDN 博客爬虫.pdf
- 网络空间安全概论 实验7网络爬虫 基于python爬取携程景点评论信息.docx
- 网络空间安全概论 实验7网络爬虫 基于豆瓣长影评的内容推荐.docx
- 网络空间安全概论 实验7网络爬虫 基于分布式爬虫 爬取 B.pdf
- 网络空间安全概论 实验7网络爬虫 爬取网易云评论数据及分析.pdf
- 网络空间安全概论 实验7网络爬虫 新冠疫情爬虫及词云与可视化地图.docx
- 网络空间安全概论 实验7网络爬虫 针对知乎内容的爬虫程序.docx
- 网络空间安全概论 实验7网络爬虫 知乎爬虫 .docx
- 26 English Letter Courseware_原创精品文档.pptx
- 重新发现欧洲葡萄牙何以成为葡萄牙PPT模板.pptx
文档评论(0)