Python网络爬虫实习报告.docx
《Python网络爬虫实习报告.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫实习报告.docx(8页珍藏版)》请在冰豆网上搜索。
Python网络爬虫实习报告
Python网络爬虫实习报告
一、选题背景
错误!
未定义书签。
二、爬虫原理
错误!
未定义书签。
三、爬虫历史和分类
错误!
未定义书签。
四、常用爬虫框架比较
错误!
未定义书签。
五、数据爬取实战(豆瓣网爬取电影数据)
错误!
未定义书签。
1分析网页
错误!
未定义书签。
2爬取数据
错误!
未定义书签。
3数据整理、转换.
错误!
未定义书签。
4数据保存、展示.
错误!
未定义书签。
5技术难点关键点.
错误!
未定义书签。
六、总结
错误!
未定义书签。
选题背景
二、爬虫原理
三、爬虫历史和分类
四、常用爬虫框架比较
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>元标签
五、数据爬取实战(豆瓣网爬取电影数据)
1分析网页
#获取html源代码
pageSize=0
try:
while(pageSize<=125):
#headers={'User-Agent':
'Mozilla/(WindowsNT
AppleWebKit/(KHTML,likeGecko)Chrome/Safari/',
#'Referer':
None#注意如果依然不能抓取的话,这里
可以设置抓取网站的host
#}
#opener=
#=[headers]
url=""+str(pageSize)+"&filter="+str(pageNum)
#data['html%s'%i]="utf-8")
"utf-8"))
pageSize+=25
pageNum+=1
print(pageSize,pageNum)
exceptExceptionase:
raisee
returndata
2爬取数据
def__getData(html):
title=[]#电影标题
#rating_num=[]#评分
range_num=[]#排名
#rating_people_num=[]#评价人数
movie_author=[]#导演
data={}
#bs4解析html
soup=BeautifulSoup(html,"")
forliin("ol",attrs二{'class':
'grid_view'}).find_all("li"):
("span",class_="title").text)
#("div",class_='star').find("span",
class_='rating_num').text)
("div",class_='pic').find("em").text)
#spans=("div",class_='star').find_all("span")
#forxinrange(len(spans)):
#ifx<=2:
#pass
#else:
#(spans[x].string[-len(spans[x].string):
-3])str=("div",class_='bd').find("p",class_='').()
index=("主")
if(index==-1):
index=("...")
print("div",class_='pic').find("em").text)
==210):
if("div",class_='pic').find("em").text
index=60
#print("aaa")
#print(str[4:
index])
(str[4:
index])
data['title']=title
#data['rating_num']=rating_num
data['range_num']=range_num
#data['rating_people_num']=rating_people_num
data['movie_author']=movie_author
returndata
3数据整理、转换
("
Inserttitleherev/head>")("vbody>")
("
爬取豆瓣电影")
("
作者:
刘文斌")
("
时间:
”+nowtime+"")
("
")("vtablewidth二'800px'border二'1'align=center>")
("")("
")("vthxfontsize二'5'color二green>电影v/font>")
#("评分
v/font>")
("排名
")
#("评价人数
v/font>")
("
导演 | ")("v/tr>")
("v/thead>")
("vtbody>")
fordataindatas:
foriinrange(0,25):
("
")("
style二'color: orange;text-align: center'>%s | "%data['title'][i])
#("
style='color: blue;text-align: center'>%s | "%data['rating_num'][i])("
style='color: red;text-align: center'>%s | "%data['range_num'][i])
#("
style='color: blue;text-align: center'>%s | "%data['rating_people_num'][i])
("
style二'color: black;text-align: center'>%s | "%data['movie_author'][i])
("v/tbody>")
("v/thead>")
("v/table>")
("")
("