Python网络爬虫实习报告总结归纳

时间:2022-02-15 11:16:01 公文范文 浏览次数:

下面是小编为大家整理的Python网络爬虫实习报告总结归纳,供大家参考。

Python网络爬虫实习报告总结归纳

P y t h o n网络爬虫实习

报告总结归纳

Modified by JACK on the afternoon of December 26, 2020

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) except Exception as e: raise e return data

2爬取数据

def __getData(html):

title = [] # 电影标题

#rating_num = [] # 评分

range_num = [] # 排名

#rating_people_num = [] # 评价人数

movie_author = [] # 导演

data = {}

# bs4解析html

soup = BeautifulSoup(html, "")

for li in ("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")

#for x in range(len(spans)):

# if x <= 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 return data

3数据整理、转换

def __getMovies(data):

("")

("Insert title</p> <p style="color: rgb(0, 0, 0); font-size: medium;"> here")

("")

("

爬取豆瓣电影

")

("

作者:刘文斌

")

("

时间:" + nowtime + "

")

("


")

("

")

("

")

("

")

("

") #("")

("

")

#("

")

("

")

("

")

("

")

("

")

for data in datas:

for i in range(0, 25):

("

")

("

" % data["title"][i])

# ("

" % data["rating_num"][i])

("

" % data["range_num"][i])

# ("

" % data["rating_people_num"][i])

("

" % data["movie_author"][i]) ("")

("

")

("")

("

电影评分

排名

评价人数 导演
align:center">%s align:center">%s align:center">%s align:center">%s align:center">%s
")

("")

("")

()

if __name__ == "__main__":

datas = []

htmls = __getHtml()

for i in range(len(htmls)):

data = __getData(htmls[i])

(data)

__getMovies(datas)

4数据保存、展示

结果如后图所示:

5技术难点关键点

数据爬取实战(搜房网爬取房屋数据)

from bs4 import BeautifulSoup

import requests

rep = ()

= "gb2312" # 设置编码方式

html =

soup = BeautifulSoup(html, "")

f = open(, "w",encoding="utf-8")

("")

("Insert title here")

("")

("

新房成交TOP3

")

("

align=center>

")

("

")

("

")

("

")

for li in ("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 as e:

junjia=("div",class_="gray-9")#.("

O", "平方米")

("

" % name)

("

" % chengjiaoliang)

("

" % junjia) print(name)

("

房址

成交量

均价

color=red>%s

color=blue>%s

%s
")

("")

六、总结

教师评语

成绩:指导教师:

推荐访问:python总结心得体会 爬虫 归纳 实习报告