爬虫爬取页面时,需要对页面进行信息解析提取,智能化解析则可以减少这一部分的工作时间,避免大规模的一旦目标网站网页源码变更,就需维护的问题。
- Diffbot:专门做智能化解析服务的公司
- Boilerpipe:Java 语言编写的一个页面解析算法,
- Embedly:提供页面解析服务的公司
- Readability:是一个页面解析算法,但现在官方的服务已经关闭了
- Mercury:Readability 的替代品,
- Goose:Java 语音编写的页面解析算法,
use Diffbot API
注:本文的所有token值皆为不可用状态,请自行注册获取
使用diffbot提供的api接口,这种方式需要在diffbot注册获取token(会在邮箱中接收到),免费版的只有14天,开发人员构造请求,将需要解析的页面的链接作为参数,去请求diffbot提供的网址
url = 'https://api.diffbot.com/v3/article'
params = {
'token':'351cedrsc26896a44445d71c39f74231d6',
'url':'https://36kr.com/p/5209715'
}
resp = requests.get(url,params=params)
if resp.status_code == 200:
op = json.loads(resp.text)
op['objects'][0]['title']
实际上,使用diffbot也有现成的python diffbot api客户端模块调用,具体如何,可以参照上面提供的链接。个人觉得,这与直接请求API的区别没太多区别,甚至可能有些API的功能,该模块还未支持。
文末附带Diffbot的基本运用笔记
use newspaper module of python
在python模块上有时可以考虑newspaper
模块中的Article
来解析一些新闻页面
from newspaper import Article
url = 'https://36kr.com/p/5209715'
a = Article(url,language='zh')
a.download()
a.parse()
print(a.title)
print(a