- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Python 网络爬虫实习报告
Python 网络爬虫实习(报告)
目录
一、
选题背景
-2-
二、
爬虫原理
-2-
三、
爬虫历史和分类
-2-
四、
常用爬虫框架比较
-2-
五、数据爬取实战(豆瓣网爬取电影数据)
-3-
1分析网页.
3-
2爬取数据.
3-
3数据整理、转换.
-4-
4数据保存、展示.
-9-
5技术难点关键点.
-10-
六、总结
-13-
-i-
Python 网络爬虫实习(报告)
选题背景
二、爬虫原理
三、爬虫历史和分类四、常用爬虫框架比较
Scrapy 框架:Scrapy 框架是一套比较成熟的 Python 爬虫框架,是使用
Python 开发的快速、高层次的信息爬取框架,可以高效的爬取 web页面并提取出结构化数据。Scrapy 应用范围很广,爬虫开发、数据挖掘、 数据监测、自动化测试等。
Crawley 框架:Crawley 也是Python 开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。
Portia 框架:Portia 框架是一款允许没有任何编程基础的用户可视化 地爬取网
页的爬虫框架。
newspaper 框架:newspaper 框架是一个用来提取新闻、文章以及内容 分析
的Python爬虫框架。
Python-goose框架:Python-goose框架可提取的信息包括:<1>文章主体内容;<2>文章主要图片;<3>文章中嵌入的任heYoutube/Vimeo视频;<4>元描述;<5>元标签
-2-
Python 网络爬虫实习(报告)
五、数据爬取实战(豆瓣网爬取电影数据)
分析网页
#获取html源代码
def getHtml():data=[]pageNum=1
pageSize=0try:
while(pageSize=125):
#headers={User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.64Safari/537.11,
#Referer:None#
可以设置抓取网站的
host
注意如果依然不能抓取的话,这里
# }
# opener=urllib.request.build_opener()# opener.addheaders=[headers]
url=/top250?start=+str(pageSize)+filter=+str(pageNum)
# data[html%s%
i]=urllib.request.urlopen(url).read().decode(utf-8)
-3-
Python 网络爬虫实习(报告)
data.append(urllib.request.urlopen(url).read().decode(utf-8))
pageSize+=25
pageNum+=1
print(pageSize,pageNum)exceptExceptionase:
raiseereturndata
爬取数据
def getData(html):
title=[] #电影标题
#rating_num=[]#
range_num=[]
评分
#排名
#rating_people_num=[]#
movie_author=[]
评价人数
#导演
data={}
#bs4 解析html
soup=BeautifulSoup(html,html.parser)
forliinsoup.find(ol,attrs 二 {class:grid_view}).find_all(li):title.append(li.find(span,class_=title).text)
#rating_num.append(li.find(div,
-4-
Python 网络爬虫实习(报告)
class_=star).find(span,class_=rating_num).text)
range_num.append(li.find(div,class_=pic).find(em).text)
#spans=li.find(div,class_=star).find_all(span)
#forxinrange(len(sp
您可能关注的文档
最近下载
- 色盲检测图(俞自萍第六版).pptx VIP
- 《爱唱歌的小杜鹃》 课件 人教版音乐三年级上册.pptx
- DB37∕T 242-2021 建筑消防设施检测技术规程.docx
- PE管材验收标准(SDR17.6).docx VIP
- 复旦大学《计算机体系结构》期末考试两套试卷(含答案).pdf VIP
- 中国近现代史纲要知到课后答案智慧树章节测试答案2025年春海南大学.docx VIP
- 形考作业3:基于UML的大学图书馆图书信息管理系统设计实验.docx VIP
- 大学《地震工程学》课程课件.pptx
- 2024年二建继续教育-基于建筑信息模型、虚拟施工及网络的项目管理理论及实践1、2答案.docx VIP
- 2024年二建继续教育-剖析价值工程及如何运用价值工程优选设计方案1、2答案.docx VIP
文档评论(0)