Python网络爬虫实习报告python实习报告.docx

上传人:h**** 文档编号:11733000 上传时间:2022-04-21 格式:DOCX 页数:16 大小:33.45KB
返回 下载 相关 举报
Python网络爬虫实习报告python实习报告.docx_第1页
第1页 / 共16页
Python网络爬虫实习报告python实习报告.docx_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《Python网络爬虫实习报告python实习报告.docx》由会员分享,可在线阅读,更多相关《Python网络爬虫实习报告python实习报告.docx(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Python网络爬虫实习报告python实习报告 Python 网络爬虫实习报告书目 一、选题背景 . - 1 -二、爬虫原理 . - 1 -三、爬虫历史与分类 . - 1 -四、常用爬虫框架比较 . - 1 -五、数据爬取实战( 豆瓣网爬取电影数据) . - 2 -1 分析网页 . -2- 2 爬取数据 . -2- 3 数据整理、转换. -3- 4 数据保存、展示. -7- 5 技术难点关键点. -9- 六、总结 . - 11 -一、选题背景 二、爬虫原理 三、爬虫历史与分类 四、常用爬虫框架比较 y Scrapy 框架: :Scrapy 框架就是一套比较成熟的 Python 爬虫框架,就是

2、运用 Python 开发的快速、高层次的信息爬取框架,可以高效的爬取 web页面并提取出结构化数据。Scrapy 应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等。y Crawley 框架: :Crawley 也就是 Python 开发出的爬虫框架,该框架致力于变更人们从互联网中提取数据的方式。a Portia 框架: :Portia 框架就是一款允许没有任何编程基础的用户可视化地爬取网页的爬虫框架。r newspaper 框架: :newspaper 框架就是一个用来提取新闻、文章以及内容分析的 Python 爬虫框架。Python- -e goose 框架: :Python-goo

3、se 框架可提取的信息包括:<1>文章主体内容;<2>文章主要图片;<3>文章中嵌入的任 heYoutube/Vimeo 视频;<4>元描述;<5>元标签五、数据爬取实战( 豆瓣网爬取电影数据) 1 分析网页# 获得 html 源代码def _getHtml():data = pageNum = 1pageSize = 0try:while (pageSize <= 125):# headers = User- - Agent:Mozilla/5 、 0 (Wi ndows NT 6 6 、 1) AppleWebKit/537

4、 、 11 (KHTML, like Gecko) Chrome/23 、0 0 、1271 、 64 Safari/537 、 11,# Referer:None # 留意假如依旧不能抓取的话, , 这里可以设置抓取网站的 host# # opener = urllib 、 request 、 build_opener()# opener 、 addheaders = head ersurl = "+ str(pageSize) + "&filter=+ str(pageNum)# datahtml%s % i =urllib、 、 request、 、 urlo

5、pen(url) 、read() 、 decode("utf- - 8")data、 、 append(urllib、 、 request、 、 urlopen(url)、 、 read() 、decode("utf- - 8")pageSize += 25 5pageNum += 1print(pageSize, pageNum)except Exception as e:raise ereturn data2 爬取数据 def _getData(html):title = # 电影标题#rating_num = # 评分range_num = # 排

6、名#rating_people_num = #评价人数movie_author = # 导演data = # bs4 解析 htmlsoup = BeautifulSoup(html, "html 、 parser")for li in soup 、 find("ol", attrs=class: grid_view) 、find_all("li"):title 、 append(li 、 find("span", class_="title") 、 text)#rating_num 、 app

7、end(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")#for x in range(len(sp ans):# if x <= 2:

8、#pass# else:#rating_people_num 、 append(spansx 、string- - len(spansx 、 string):- - 3)str = li 、 find("div", class_=bd) 、 find("p", class_=) 、 text 、 lstrip()index = str 、 fi nd(主 ")if (index = - - 1):index = str 、 find(、 ")print(li 、 find("div", class_=pic) 、

9、find("em") 、text)if (li、 、 find("div", class_=pic)、 、 find("em")、 、 text = 210):index = 60# print("a aa")# print(str4:index)movie_author 、 append(str4:index)datatitle = title#datarating_num = rating_numdatarange_num = range_num#datarating_people_num = rating_p

10、eople_numdatamovie_author = mov ie_authorreturn data3 数据整理、转换 def _getMovies(data):f = open(F:/douban_movie 、 html, w,encoding=utf- - 8)f f 、 write("<html>")f f 、 write("<head><meta charset=UTF- - 8><title>Insert title here</title></head>")f f

11、、 write("<body>")f f 、 write ("<h1> 爬取豆瓣电影 </h1>")f f 、 write("<h4> 作者: : 刘文斌 </h4>")f f 、 write("<h4> 时间 :+ nowtime + "</h4>")f f 、 write("<hr>")f f 、 write("<table width=800px border=1 al

12、ign=center>")f f 、 write("<thead>")f f 、 write("<tr>")f f 、 write("<th><font size=5 colo r=green> 电影</font></th>")#f 、 write("<thwidth=50px><font size=5 color=green>评分 </font></th>")f f 、 writ

13、e("<thwidth=50px><font size=5 color=green>排名 </font></th>")#f 、 write("<thwidth=100px><font size=5 color=green>评价人数 </font></th>")f f 、 write("<th><font size=5 color=green> 导演</font></th>")f f 、 wri

14、te("</tr>")f f 、 write("</thead>")f f 、 write("<tbody>")for data in datas:for i in range(0, 25):f f 、 write("<tr>")f f 、 write("<td style=color:orange;text- - align:center>%s</td>% datatitlei)#f 、 write("<tdstyl

15、e=color:blue;text- - align:center>%s</td>% datarating_numi)f f 、 write("<td style=color:red;text- - align:center>%s</td>% datarange_numi)# f 、 write(<td style=color:blue;text- - align:center>%s</td>% datarating_people_numi)f f 、 write("<td style=color:bl

16、ack;text- - align:center>%s</td>% datamovie_authori)f f 、 write("</tr>")f f 、 write("</tbody>")f f 、 write("</thead>")f f 、 write("</table>")f f 、 write("</body>")f f 、 write("</html>")f f 、 clos

17、e()if _name_ = _main_:datas = htmls = _getHtml()for i in range(len(htmls):data = _getData(htmlsi)datas 、 append(data)_getMovies(datas) 4 4 数据保存、展示结果如后图所示: 5 技术难点关键点 数据爬取实战( 搜房网爬取房屋数据)from bs4 import BeautifulSoup import requests rep = requests、get( ) rep、encoding = "gb2312"# 设置编码方式 html =

18、rep、text soup = BeautifulSoup(html, html 、 parser) f = open( F:/fang 、 htm l, w,encoding= utf- - 8) f、write( "<html>") f、write( "<head><meta charset=UTF- - 8><title>Insert title here</title></head>") f、write( "<body>") f、write(

19、"<center><h1> 新居成交 TOP3</h1></center>") f、write( "<table border=1px width=1000px height=800px align=cent er><tr>") f、write( "<th><h2> 房址 </h2></th>") f、write( "<th><h2> 成交量 </h2></th&g

20、t;") f、write( "<th><h2> 均价 </h2></th></tr>") for li in soup、find( "ul",class_= "ul02")、find_all( "li"): name=li、find( "div",class_= "pbtext")、find( "p")、text chengjiaoliang=li、find( "span&qu

21、ot;,class_= "red- - f3")、text try: junjia=li、find( "div",class_= "ohter")、find( "p",class_= "gray- - 9") #、text、replace(O, 平方米) except Exception as e: junjia=li、find( "div",class_= "gray- - 9") #、text、replace(O, 平方米)f、write( "

22、;<tr><td ali gn=center><font size=5pxcolor=red>%s</font></td>% name) f、write( "<td align=center><font size=5pxcolor=blue>%s</font></td>% chengjiaoliang) f、write( "<td align=center><font size=5pxcolor=green>%s</font><

23、;/td></tr>% junjia) print(name)f、write( "</table>") f、write( "</body>")六、总结 老师评语: 成果: 指导老师:本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第16页 共16页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com