Python网络爬虫实习报告总结归纳.docx
《Python网络爬虫实习报告总结归纳.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫实习报告总结归纳.docx(7页珍藏版)》请在冰豆网上搜索。
![Python网络爬虫实习报告总结归纳.docx](https://file1.bdocx.com/fileroot1/2023-4/24/04783cf2-17a8-4c83-85a0-71c9cb1c2e1a/04783cf2-17a8-4c83-85a0-71c9cb1c2e1a1.gif)
Python网络爬虫实习报告总结归纳
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>元标签
五、数据爬取实战(豆瓣网爬取电影数据)
1分析网页
#获取html源代码
def__getHtml():
data=[]
pageNum=1
pageSize=0
try:
注意如果依然不能抓取的话,这里
while(pageSize<=125):
#'Referer':
None#
可以设置抓取网站的host
#}
#=[headers]
pageNum)
pageSize+=25
pageNum+=1
print(pageSize,pageNum)
exceptExceptionase:
raiseereturndata
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_numdata['movie_autho门=movie_author
returndata
3数据整理、转换def__getMovies(data):
("vhtml>")
("
Inserttitlehere
v/head>")("vbody>")
("
爬取豆瓣电影")
("
作者:
刘文斌")
("
时间:
”+nowtime+"")
("
")("vtablewidth二'800px'border二'1'align=center>")
("")("
")("
电影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>")
("")
("