Python网络爬虫实习报告-python实习报告之欧阳与创编

上传人:碎****木 文档编号:220861046 上传时间:2021-12-09 格式:DOCX 页数:9 大小:113.77KB
返回 下载 相关 举报
Python网络爬虫实习报告-python实习报告之欧阳与创编_第1页
第1页 / 共9页
Python网络爬虫实习报告-python实习报告之欧阳与创编_第2页
第2页 / 共9页
Python网络爬虫实习报告-python实习报告之欧阳与创编_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Python网络爬虫实习报告-python实习报告之欧阳与创编》由会员分享,可在线阅读,更多相关《Python网络爬虫实习报告-python实习报告之欧阳与创编(9页珍藏版)》请在金锄头文库上搜索。

1、2022.03.08欧阳与创编Python 网络爬虫实习报告2022.03.08欧阳与创编名目一、选题背景- 2 - 二、爬虫原理- 2 -三、爬虫历史和分类- 2 - 错误!未指定书签。错误!未指定书签。- 0 -分析网页- 1 - 2 爬取数据- 7 -3 数据整理、转换- 10 -4 数据保存、呈现- 12 -5 技术难点关键点- 12 -六、总结- 14 -一、选题背景二、爬虫原理三、爬虫历史和分类 四、常用爬虫框架比较Scrapy 框架:Scrapy 框架是一套比较成熟的 Python 爬虫框架,是使用 Python 开发的快速、高层次的信息爬取框架,可以高效的爬取 web 页面并提

2、取出构造化数据。Scrapy 应用范围很广,爬虫开发、数据挖掘、数据监测、自动化测试等。Crawley 框架:Crawley 也是 Python 开发出的爬虫框架,该框架致力于转变人们从互联网中提取数据的方式。Portia 框架:Portia 框架是一款允许没有任何编程根底的用户可视化地爬取网页的爬虫框架。newspaper 框架:newspaper 框架是一个用来提取新闻、文章以及内容分析的 Python 爬虫框架。Python-goose 框架:Python-goose 框架可提取的信息包括:文章主体内容;文章主要图片;文章中嵌入的任heYoutube/Vimeo 视频;元描述;元标签五、

3、数据爬取实战豆瓣网爬取电影数据1 分析网页# 猎取 html 源代码defgetHtml(): data = pageNum = 1pageSize = 0 try:while (pageSize = 125):# headers = ”User-Agent”:”Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11”,# ”Referer”:None #留意假设照旧不能抓取的话,这里可以设置抓取网站的 host# # opener = urlli

4、b.request.build_opener() # opener.addheaders = headersurl = “ s:/movie.douban /top250?start=“ + str(pageSize) + “&filter=“ + str(pageNum)# data”html%s” %i =urllib.request.urlopen(url).read().decode(“utf-8“)data.append(urllib.request.urlopen(url).read().decode(“utf-8“) pageSize += 25pageNum += 1 prin

5、t(pageSize, pageNum)except Exception as e: raise ereturn data2 爬取数据defgetData(html):title = # 电影标题#rating_num = # 评分range_num = # 排名#rating_people_num = # 评价人数movie_author = # 导演data = # bs4 解析 htmlsoup = BeautifulSoup(html, “html.parser“) for li in soup.find(“ol“, attrs=”class”:”grid_view”).find_al

6、l(“li“):title.append(li.find(“span“, class_=“title“).text) #rating_num.append(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(spans):#if x = 2

7、:#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.find(“主“) if (index = -1):index = str.find(“.“)print(li.find(“div“, class_=”pic”).find(“em“).text)if (li.find(“div“, class_=”pic”).find(“em“).tex

8、t =210):index = 60# print(“aaa“) # print(str4:index)movie_author.append(str4: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_authorreturn data3 数据整理、转换defgetMovies(data):f = open(”F:/douban_mo

9、vie.html”, ”w”,encoding=”utf-8”) f.write(“)f.write(“Insert title here“)f.write(“)f.write(“爬取豆瓣电影“) f.write(“ 刘文斌“) f.write(“ 时间:“ + nowtime + “) f.write(“)f.write(“) f.write(“)f.write(“)f.write(“电影“)#f.write(“th“) f.write(“th“)#f.write(“ 评分width=”50px” 排名width=”100px” 评价人数“)f.write(“导演“) f.write(“)f

10、.write(“) f.write(“) for data in datas:for i in range(0, 25):f.write(“)f.write(“%s“ % data”title”i)#f.write(“%s“ % data”rating_num”i)f.write(“%s“ % data”range_num”i)#f.write(“%s“ % data”rating_people_num”i)f.write(“%s“ % data”movie_author”i)f.write(“) f.write(“) f.write(“) f.write(“) f.write(“) f.wr

11、ite(“) f.close()ifname= ”main”: datas = htmls =getHtml()for i in range(len(htmls): data =getData(htmlsi) datas.append(data) getMovies(datas) 4 数据保存、呈现结果如后图所示:5 技术难点关键点from bs4 import BeautifulSoupimport requestsrep = requests.get(” :/newhouse.fang /top/”)rep.encoding = “gb2312“html = rep.text# 设置编码方式soup = BeautifulSoup(html, ”html.parser”)f = open(”F:/fang.html”, ”w”,encoding=”utf-8”) f.write(“)f.write(“Insert title here“)f.write(“)f.write(“新居成交 TOP3“) f.write(“)f.write(“房址“)数据爬取实战搜房网爬取房屋数据教师评语:成果:指导教师:f.write(“成交量“)f.write(“均价“)for li in soup.f

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号