Python网络爬虫实习精选报告总结计划归纳doc.docx
- 文档编号:24500709
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:28
- 大小:32.85KB
Python网络爬虫实习精选报告总结计划归纳doc.docx
《Python网络爬虫实习精选报告总结计划归纳doc.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫实习精选报告总结计划归纳doc.docx(28页珍藏版)》请在冰豆网上搜索。
Python网络爬虫实习精选报告总结计划归纳doc
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:
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)
if("div",class_='pic').find("em").text==210):
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数据整理、转换
def__getMovies(data):
("")
("
("
")
("
爬取豆瓣电影
")
("
作者:
刘文斌")
("
时间:
"+nowtime+"")
("
")
("
("") (" (" #(" ") (" ") #(" ") (" (" ("") ") ") ")
("
")
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])
("
("
")
("")
("")
("")
("")
()
if__name__=='__main__':
datas=[]
htmls=__getHtml()
foriinrange(len(htmls)):
data=__getData(htmls[i])
(data)
__getMovies(datas)
4数据保存、展示
结果如后图所示:
5技术难点关键点
数据爬取实战(搜房网爬取房屋数据)
frombs4importBeautifulSoup
importrequests
rep=()
="gb2312"#设置编码方式
html=
soup=BeautifulSoup(html,''
)
f=open(,'w',encoding='utf-8'
)
("")
("
("
新房成交TOP3
("
房址
)
("
成交量
)
("
均价
)
forliin("ul",class_="ul02"
).find_all(
"li"
):
name=("div",class_="pbtext").find("p").text
chengjiaoliang=("span",class_="red-f3").text
try:
junjia=("div",class_="ohter").find("p",class_="gray-9")#.('?
O','平方米')
except
Exception
ase:
junjia=(
"div"
class_="gray-9"
)#.('?
O','
平方米')
("
color=red>%s"%name)
(" color=blue>%s"%chengjiaoliang) (" color=green>%s
print(name)
("")
("")
六、总结
教师评语:
成绩:
指导教师:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 网络 爬虫 实习 精选 报告 总结 计划 归纳 doc