Python爬虫实战(1):爬取Drupal峰会贴子列表

优采云 发布时间: 2020-06-09 10:24

  /img/bVxTdG

  在《Python即时网路爬虫项目: 内容提取器的定义》一文我们定义了一个通用的python网路爬虫类,期望通过这个项目节约程序员一半以上的时间。本文将用一个实例讲解如何使用这个爬虫类。我们将爬集搜客老版峰会,是一个用Drupal做的峰会。

  我们在多个文章都在说:节省程序员的时间。关键是市去编撰提取规则的时间,尤其是调试规则的正确性太花时间。在《1分钟快速生成用于网页内容提取的xslt》演示了如何快速生成提取规则网络爬虫论坛,接下来我们再通过GooSeeker的api插口实时获得提取规则,对网页进行抓取。本示例主要有如下两个技术要点:

  通过GooSeeker API实时获取用于页面提取的xslt

  使用GooSeeker提取器gsExtractor从网页上一次提取多个数组内容。

  # _*_coding:utf8_*_

# crawler_gooseeker_bbs.py

# 版本: V1.0

from urllib import request

from lxml import etree

from gooseeker import GsExtractor

# 访问并读取网页内容

url = ""

conn = request.urlopen(url)

doc = etree.HTML(conn.read())

bbsExtra = GsExtractor()

bbsExtra.setXsltFromAPI("31d24931e043e2d5364d03b8ff9cc77e" , "gooseeker_bbs_xslt") # 设置xslt抓取规则,第一个参数是app key,请到会员中心申请

result = bbsExtra.extract(doc) # 调用extract方法提取所需内容

print(str(result))

  源代码下载位置请看文章末尾的GitHub源。

  运行上节的代码,即可在控制台复印出提取结果,是一个xml文件,如果加上换行缩进,内容如下图:

  /img/bVwAyA

  1网络爬虫论坛, Python即时网路爬虫项目: 内容提取器的定义

  1, GooSeeker开源Python网络爬虫GitHub源

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线