正文提取即从网页中提取出正文与标题等信息,这在使用爬虫时经常会用到.对于爬取信息明确的网站,可能使用正则式或者xpath就能提取,但对于目标不明确,网站不固定的需求,上述方式就不大适用.
使用newspaper库可以轻松解决这个问题,具体的使用方式可以去官方的github上看看,需要注意的是,使用python3的pip安装的时候,其安装命令为pip3 install newspaper3k
另外,官方是示例中都是提供url库去下载并解析的,对于本地有的html文件其解析方式没有说明,但在issuse中看到了一个方法,如下:
import newspaper
import requests
html = requests.get('httpo://baidu.com').content.decode() # 假设html为本地拥有的html文件
# 创建解析对象
article = newspaper.Article('http://baidu.com', language='zh') # 这里的url可以随便填写一个,因为并不会使用到这个url
article.download(input_html=html) # 这步中的input_html=html很重要
article.parse() # 解析
print(article.text)
网友评论