网络爬虫和文档内容提取

本文介绍了使用Python进行网络爬虫的实验内容,包括设计网页爬虫程序、理解HTML结构、制定爬取策略。实验中利用requests和bs4库抓取并解析网页,提取新闻标题、正文和发表时间,或产品评论及其时间。详细讲解了URL结构分析、HTML页面元素定位,以及爬取流程的分步实施。
摘要由CSDN通过智能技术生成

网络爬虫和文档内容提取

一、实验内容

1.设计一个网页爬虫程序或者配置运行开源的网络爬虫进行网页抓取,可以选择爬取新闻网站和电子商务网站的产品评论。不同主题类别的网页存放在不同的目录下

2.掌握网页的标签结构特点以及内容提取原理,设计和实现网页内容提取程序文档内容提取分为2个小题目,任选一个做。

a.提取新闻网页的标题,正文,发表时间。

b.提取某产品的每条产品评论内容,发表时间。

二、实验环境

实验环境:Python3.6.2,

IDE:Pycharm 2019.1.3

三、实验功能

requests 库主要用来发起网络请求,并接收服务器返回的数据;bs4 库主要用来解析 html 内容,是一个非常简单好用的库;os 库主要用于将数据输出存储到本地文件中。

fetchUrl 函数用于发起网络请求,它可以访问目标 url ,获取目标网页的 html 内容并返回。

这里其实是应该做异常捕获的(我为了简单就省掉了,吐舌头)。因为网络情况比较复杂,可能会因为各种各样的原因而访问失败, r.raise_for_status() 这句代码其实就是在判断是否访问成功的,如果访问失败,返回的状态码不是 200 ,执行到这里时会直接抛出相应的异常。

getPageList 函数,用于爬取当天报纸的各版面的链接,将其保存为一个数组,并返回。

getPageList 函数,用于爬取当天报纸的某一版面的所有文章的链接,将其保存为一个数组,并返回。

getContent 函数,用于访问文章内容页,爬取文章的标题和正文,并返回。

saveFile 函数用于将文章内容保存到本地的指定文件夹中。

download_rmrb 函数是需求中要求的主函数,可以根据 year,month,day 参数,下载该天的全部报纸文章内容,并按照规则保存在指定的路径 destdir 下。

四、实验策略

1. URL 组成结构

人民日报网站的 URL 的结构还是比较直观的,基本上什么重要的参数,比如日期,版面号,文章编号什么的,都在 URL 中有所体现,构成的规则也很简单,像这样

版面目录:http://paper.people.com.cn/rmrb/html/2019-05/06/nbs.D110000renmrb_01.htm

文章内容:http://paper.people.com.cn/rmrb/htm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值