资源描述:
《python网络爬虫实习报告【精选】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Python网络爬虫实习报告目录一、选题背景二、爬虫原理三、爬虫历史和分类常用爬虫框架比较五.数据爬取实战(豆瓣网爬取电影数据)1分析网页-3-2爬取数据-3-3数据整理、转换-4-4数据保存、展示-9-5技术难点关键点-10--13-六.总结、选题背景二、爬虫原理三、爬虫历史和分类四、常用爬虫框架比较Scrapy框架:Scrapy框架是一套比较成熟的Python爬虫框架,是使用Python开发的快速、高层次的信息爬取框架,可以高效的爬取web页面并提取出结构化数据。Scrapy应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等。Crawley框架:Crawley也是Python
2、开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。Portia框架:Portia框架是一款允许没有任何编程基础的用户可视化地爬取网页的爬虫框架。newspaper框架:newspaper框架是一个用来提取新闻、文章以及内容分析的Python爬虫框架。Python-goose框架:Python-goose框架可提取的信息包括:〈1〉文章主体内容;〈2>文章主要图片;〈3>文章中嵌入的任heYoutube/Vimeo视频;〈4>元描述;〈5>元标签五、数据爬取实战(豆瓣网爬取电影数据)1分析网页#获取html源代码defgetHtml():data=[]pageNum=1pa
3、geSize=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="https://movie・douban.com/top250?s
4、tart=/z+str(pageSize)+"&f订ter二"+str(pageNum)#data]'html%s'%i]=urllib.request.urlopen(url).read()・decode(勺tf-8“)data・append(urllib・request・urlopen(url)・read()・decode("utf-8"))pageSize+=25pageNum+=1print(pageSize,pageNum)exceptExceptionase:raiseereturndata2爬取数据def_getData(html):title=[]#电影标题#ratin
5、g_num=[J#评分range_num=[]#排名#rating_people_num=[J#评价人数movie_author=[]#导演data={}#bs4解析htmlsoup=BeautifulSoup(html,"htm1.parser")forliinsoup・find("ol",attrs二{'class':grid_view,})・find_all("li"):title・append(1i・find("span",class_二"title")・text)ttrating_num.append(li.find("div",class_=fstar")・find("sp
6、an:class_=frating_numf)・text)range_num.append(1i・find("div",class_=,pic')・find("em“).text)tispans=li・find("div",class_=,star9).find_all(〃span〃)#forxinrange(1en(spans)):#ifx<=2:#pass#else:#rating_people_num.append(spans[xj.string[-1en(spans[x].string):-3j)str=li.find(〃div",class_=,bd,)・find("p",c
7、lass_=,')・text・IstripOindex二str・find("主")if(index==-1):index=str.find(”・・・")print(1i・find("div",class_=,pic')・find(〃em〃)・text)if(li.find("div",class_=,pic,)・find(〃em")・text==210):index=60#printCaaa^)#print(str[4:index])movie