[Python3网络爬虫开发实战] pyspider 的基本使用

本文介绍了如何使用pyspider进行网络爬虫开发,包括pyspider的基本组件、启动流程、项目创建、调试过程、网页爬取和解析,以及如何处理JavaScript渲染的图片。通过实例展示了爬取去哪儿网旅游攻略的过程,包括从获取首页信息到详情页的解析,最后启动爬虫进行数据抓取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pyspider 的基本使用
本节用一个实例来讲解 pyspider 的基本用法。

  1. 本节目标
    我们要爬取的目标是去哪儿网的旅游攻略,链接为 http://travel.qunar.com/travelbook/list.htm,我们要将所有攻略的作者、标题、出发日期、人均费用、攻略正文等保存下来,存储到 MongoDB 中。

  2. 准备工作
    请确保已经安装好了 pyspider 和 PhantomJS,安装好了 MongoDB 并正常运行服务,还需要安装 PyMongo 库,具体安装可以参考第 1 章的说明。

  3. 启动 pyspider
    执行如下命令启动 pyspider:

pyspider all

运行效果如图 12-2 所示。
在这里插入图片描述
图 12-2 运行结果

这样可以启动 pyspider 的所有组件,包括 PhantomJS、ResultWorker、Processer、Fetcher、Scheduler、WebUI,这些都是 pyspider 运行必备的组件。最后一行输出提示 WebUI 运行在 5000 端口上。可以打开浏览器,输入链接 http://localhost:5000,这时我们会看到页面,如图 12-3 所示。
在这里插入图片描述
图 12-3 WebUI 页面

此页面便是 pyspider 的 WebUI,我们可以用它来管理项目、编写代码、在线调试、监控任务等。

  1. 创建项目
    新建一个项目,点击右边的 Create 按钮,在弹出的浮窗里输入项目的名称和爬取的链接,再点击 Create 按钮,这样就成功创建了一个项目,如图 12-4 所示。
    在这里插入图片描述
    图 12-5 调试页面

左侧就是代码的调试页面,点击左侧右上角的 run 单步调试爬虫程序,在左侧下半部分可以预览当前的爬取页面。右侧是代码编辑页面,我们可以直接编辑代码和保存代码,不需要借助于 IDE。

注意右侧,pyspider 已经帮我们生成了一段代码,代码如下所示:

from pyspider.libs.base_handler import *
 
class Handler(BaseHandler):
    crawl_config = { }
 
    @every(minutes=24 * 60)
    def on_start(self):
        self.crawl('http://travel.qunar.com/travelbook/list.htm', callback=self.index_page)
 
    @config(age=10 * 24 * 60 * 60)
    def index_page(self, response):
        for each in response.doc('a[href^="http"]').items():
            self.crawl(each.attr.href, callback=self.detail_page)
 
    @config(priority=2)
    def detail_page(self, response):
        return {
            "url": response.url,
            "title": re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值