Python网络爬虫实习报告.docx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Python 网络爬虫实习报告

Python 网络爬虫实习(报告)

目录

一、

选题背景

-2-

二、

爬虫原理

-2-

三、

爬虫历史和分类

-2-

四、

常用爬虫框架比较

-2-

五、数据爬取实战(豆瓣网爬取电影数据)

-3-

1分析网页.

3-

2爬取数据.

3-

3数据整理、转换.

-4-

4数据保存、展示.

-9-

5技术难点关键点.

-10-

六、总结

-13-

-i-

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>元标签

-2-

Python 网络爬虫实习(报告)

五、数据爬取实战(豆瓣网爬取电影数据)

分析网页

#获取html源代码

def getHtml():data=[]pageNum=1

pageSize=0try:

while(pageSize=125):

#headers={User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.64Safari/537.11,

#Referer:None#

可以设置抓取网站的

host

注意如果依然不能抓取的话,这里

# }

# opener=urllib.request.build_opener()# opener.addheaders=[headers]

url=/top250?start=+str(pageSize)+filter=+str(pageNum)

# data[html%s%

i]=urllib.request.urlopen(url).read().decode(utf-8)

-3-

Python 网络爬虫实习(报告)

data.append(urllib.request.urlopen(url).read().decode(utf-8))

pageSize+=25

pageNum+=1

print(pageSize,pageNum)exceptExceptionase:

raiseereturndata

爬取数据

def getData(html):

title=[] #电影标题

#rating_num=[]#

range_num=[]

评分

#排名

#rating_people_num=[]#

movie_author=[]

评价人数

#导演

data={}

#bs4 解析html

soup=BeautifulSoup(html,html.parser)

forliinsoup.find(ol,attrs 二 {class:grid_view}).find_all(li):title.append(li.find(span,class_=title).text)

#rating_num.append(li.find(div,

-4-

Python 网络爬虫实习(报告)

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)

#forxinrange(len(sp

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档