python网络爬虫实习报告

python网络爬虫实习报告

ID:19642247

大小:187.38 KB

页数:13页

时间:2018-10-04

python网络爬虫实习报告_第1页
python网络爬虫实习报告_第2页
python网络爬虫实习报告_第3页
python网络爬虫实习报告_第4页
python网络爬虫实习报告_第5页
资源描述:

《python网络爬虫实习报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Python网络爬虫实习报告Python网络爬虫实习(报告)目录一、选题背景-2-二、爬虫原理-2-三、爬虫历史和分类-2-四、常用爬虫框架比较-5-五、数据爬取实战(豆瓣网爬取电影数据)-6-1分析网页-6-2爬取数据-7-3数据整理、转换-10-4数据保存、展示-12-5技术难点关键点-12-六、总结-14--11-Python网络爬虫实习(报告)选题背景一、爬虫原理二、爬虫历史和分类三、常用爬虫框架比较Scrapy框架:Scrapy框架是一套比较成熟的Python爬虫框架,是使用Python开发的快速、高层次的信息爬取框架,可以高效的爬取web页面并提取出结构化数据。S

2、crapy应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等。Crawley框架:Crawley也是Python开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。Portia框架:Portia框架是一款允许没有任何编程基础的用户可视化地爬取网页的爬虫框架。newspaper框架:newspaper框架是一个用来提取新闻、文章以及内容分析的Python爬虫框架。Python-goose框架:Python-goose框架可提取的信息包括:<1>文章主体内容;<2>文章主要图片;<3>文章中嵌入的任heYoutube/Vimeo视频;<4>元描述;<5>元标签-

3、11-Python网络爬虫实习(报告)五、数据爬取实战(豆瓣网爬取电影数据)1分析网页#获取html源代码def__getHtml():data=[]pageNum=1pageSize=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=

4、urllib.request.build_opener()#opener.addheaders=[headers]url="https://movie.douban.com/top250?start="+str(pageSize)+"&filter="+str(pageNum)#data['html%s'%i]=urllib.request.urlopen(url).read().decode("utf-8")-11-Python网络爬虫实习(报告)data.append(urllib.request.urlopen(url).read().decode("utf-8"))p

5、ageSize+=25pageNum+=1print(pageSize,pageNum)exceptExceptionase:raiseereturndata2爬取数据def__getData(html):title=[]#电影标题#rating_num=[]#评分range_num=[]#排名#rating_people_num=[]#评价人数movie_author=[]#导演data={}#bs4解析htmlsoup=BeautifulSoup(html,"html.parser")forliinsoup.find("ol",attrs={'class':'grid_v

6、iew'}).find_all("li"):-11-Python网络爬虫实习(报告)title.append(li.find("span",class_="title").text)#rating_num.append(li.find("div",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")#

7、forxinrange(len(spans)):#ifx<=2:#pass#else:#rating_people_num.append(spans[x].string[-len(spans[x].string):-3])str=li.find("div",class_='bd').find("p",class_='').text.lstrip()index=str.find("主")if(index==-1):index=str.find("...")print(li.find("div",class

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。