iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >怎么用Scrapy构建一个网络爬虫
  • 483
分享到

怎么用Scrapy构建一个网络爬虫

2023-06-03 01:06:23 483人浏览 薄情痞子
摘要

这篇文章主要讲解了“怎么用scrapy构建一个网络爬虫”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Scrapy构建一个网络爬虫”吧!我们来看下Scrapy怎么做到这些功能的。首先准备

这篇文章主要讲解了“怎么用scrapy构建一个网络爬虫”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Scrapy构建一个网络爬虫”吧!

我们来看下Scrapy怎么做到这些功能的。首先准备Scrapy环境,你需要安装python(本文使用v2.7)和pip,然后用pip来安装lxml和scrapy。个人强烈建议使用virtualenv来安装环境,这样不同的项目之间不会冲突。详细步骤这里就不赘述了。对于Mac用户要注意,当使用pip安装lxml时,会出现类似于的下面错误:

Error: #include “xml/xmlversion.h” not found

解决这个问题,你需要先安装Xcode的command line tools,具体的方法是在命令行执行下面的命令即可。

$ xcode-select --install

环境安装好之后,我们来用Scrapy实现一个简单的爬虫,抓取本博客网站的文章标题,地址和摘要。

    1

    1

    2

    3

    4

    5

    6

    7

    8

    1. 设置待抓取内容的字段,本例中就是文章的标题,地址和摘要

修改”items.py”文件,在”MyCrawlerItem”类中加上如下代码:

Python

# -*- coding: utf-8 -*-

import scrapy

class MyCrawlerItem(scrapy.Item):

    title = scrapy.Field()    # 文章标题

    url = scrapy.Field()      # 文章地址

    summary = scrapy.Field()  # 文章摘要

    pass



对于XPath不熟悉的朋友,可以通过Chrome的debug工具获取元素的XPath。

    1

    1. 将结果保存到数据库

这里我们采用MongoDB,你需要先安装Python的mongoDB库”pymonGo”。编辑”my_crawler”目录下的”pipelines.py”文件,在”MyCrawlerPipeline”类中加上如下代码:

Python

# -*- coding: utf-8 -*-

import pymongo

from scrapy.conf import settings

from scrapy.exceptions import DropItem

class MyCrawlerPipeline(object):

    def __init__(self):

        # 设置MongoDB连接

        connection = pymongo.Connection(

            settings['MONGO_SERVER'],

            settings['MONGO_PORT']

        )

        db = connection[settings['MONGO_DB']]

        self.collection = db[settings['MONGO_COLLECTION']]

    # 处理每个被抓取的MyCrawlerItem项

    def process_item(self, item, spider):

        valid = True

        for data in item:

            if not data:  # 过滤掉存在空字段的项

                valid = False

                raise DropItem("Missing {0}!".fORMat(data))

        if valid:

            # 也可以用self.collection.insert(dict(item)),使用upsert可以防止重复项

            self.collection.update({'url': item['url']}, dict(item), upsert=True)

        return item

再打开”my_crawler”目录下的”settings.py”文件,在文件末尾加上pipeline的设置:

Python

ITEM_PIPELINES = {

    'my_crawler.pipelines.MyCrawlerPipeline': 300,    # 设置Pipeline,可以多个,值为执行优先级

}

# MongoDB连接信息

MONGO_SERVER = 'localhost'

MONGO_PORT = 27017

MONGO_DB = 'bjhee'

MONGO_COLLECTION = 'articles'

DOWNLOAD_DELAY=2    # 如果网络慢,可以适当加些延迟,单位是秒

  1. <td class="crayon-code" ">

  2. $ scrapy crawl my_crawler

    别忘了启动MongoDB并创建”bjhee”数据库哦。现在你可以在MongoDB里查询到记录了。

    总结下,使用Scrapy来构建一个网络爬虫,你需要做的就是:厦门叉车租赁公司

    • “items.py”中定义爬取字段

    • 在”spiders”目录下创建你的爬虫,编写解析函数和规则

    • “pipelines.py”中对爬取后的结果做处理

    • “settings.py”设置必要的参数

感谢各位的阅读,以上就是“怎么用Scrapy构建一个网络爬虫”的内容了,经过本文的学习后,相信大家对怎么用Scrapy构建一个网络爬虫这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么用Scrapy构建一个网络爬虫

本文链接: https://www.lsjlt.com/news/232095.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用Scrapy构建一个网络爬虫
    这篇文章主要讲解了“怎么用Scrapy构建一个网络爬虫”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Scrapy构建一个网络爬虫”吧!我们来看下Scrapy怎么做到这些功能的。首先准备...
    99+
    2023-06-03
  • 网络爬虫框架Scrapy怎么用
    这篇文章将为大家详细讲解有关网络爬虫框架Scrapy怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛...
    99+
    2023-06-27
  • 怎么用Scrapy+Gerapy部署网络爬虫
    本篇内容主要讲解“怎么用Scrapy+Gerapy部署网络爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Scrapy+Gerapy部署网络爬虫”吧!爬...
    99+
    2024-04-02
  • 如何使用Scrapy网络爬虫框架
    这篇文章将为大家详细讲解有关如何使用Scrapy网络爬虫框架,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。scrapy 介绍标准介绍Scrapy是一个为了爬取网站数据,提...
    99+
    2024-04-02
  • Java中怎么实现一个网络爬虫
    Java中怎么实现一个网络爬虫,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先介绍每个类的功能:DownloadPage.java的功能是下载此超链接的页面源代码.Fun...
    99+
    2023-06-17
  • 怎么在python中使用selenium实现一个网络爬虫
    本篇文章为大家展示了怎么在python中使用selenium实现一个网络爬虫,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科...
    99+
    2023-06-08
  • scrapy爬虫框架怎么使用
    这篇“scrapy爬虫框架怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“scrapy爬虫框架怎么使用”文章吧。一、s...
    99+
    2023-06-27
  • 打造一个健壮高效的网络爬虫
    以下内容转自爬虫界大佬崔庆才的文章,传送门   整个分享的主题叫做《健壮高效的网络爬虫》,本次分享从抓取、解析、存储、反爬、加速五个方面介绍了利用 Python 进行网络爬虫开发的相关知识点和技巧,介绍了不同场景下如何采取不同措施高效地进...
    99+
    2023-01-30
    爬虫 高效 健壮
  • 网站怎么阻止网络爬虫
    这篇文章主要为大家展示了“网站怎么阻止网络爬虫”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“网站怎么阻止网络爬虫”这篇文章吧。两种主要方法可以阻止爬虫:1.屏蔽它的 IP 地址。收集爬虫的所有 ...
    99+
    2023-06-20
  • 怎么使用Python的Scrapy爬虫框架
    本篇内容介绍了“怎么使用Python的Scrapy爬虫框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scrapy是Python开发的一个...
    99+
    2023-06-02
  • Python网络爬虫requests库怎么使用
    1. 什么是网络爬虫简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。就像我们浏览网页的时候,对于我们感兴趣的内容我们会复制粘贴到自己的笔记本中,方便下次阅读浏览&mdash;&mdash;网络爬虫帮我...
    99+
    2023-05-15
    Python Requests
  • python爬虫框架Scrapy怎么安装使用
    这篇文章主要介绍了python爬虫框架Scrapy怎么安装使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python爬虫框架Scrapy怎么安装使用文章都会有所收获,下面我...
    99+
    2024-04-02
  • python爬虫入门之Scrapy框架怎么用
    这篇文章将为大家详细讲解有关python爬虫入门之Scrapy框架怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • 使用python编写简单网络爬虫(一)
          总算有时间动手用所学的python知识编写一个简单的网络爬虫了,这个例子主要实现用python爬虫从百度图库中下载美女的图片,并保存在本地,闲话少说,直接贴出相应的代码如下:---------------------------...
    99+
    2023-01-31
    爬虫 简单 网络
  • Python网络爬虫之怎么获取网络数据
    使用 Python 获取网络数据使用 Python 语言从互联网上获取数据是一项非常常见的任务。Python 有一个名为 requests 的库,它是一个 Python 的 HTTP 客户端库,用于向 Web 服务器发起 HTTP 请求。我...
    99+
    2023-05-14
    Python
  • Golang网络爬虫框架gocolly/colly怎么用
    小编给大家分享一下Golang网络爬虫框架gocolly/colly怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装go get -u github.co...
    99+
    2023-06-05
  • 利用java怎么实现一个网页爬虫功能
    利用java怎么实现一个网页爬虫功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。爬虫实现原理网络爬虫基本技术处理网络爬虫是数据采集的一种方法,实际项目开发中,通过爬虫做数...
    99+
    2023-05-31
    java ava
  • 怎么使用Java IO流和网络制作一个简单的图片爬虫
    这篇文章主要介绍“怎么使用Java IO流和网络制作一个简单的图片爬虫”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Java IO流和网络制作一个简单的图片爬虫”文章能帮助大家解决问题。Ja...
    99+
    2023-07-05
  • 使用C++编写一个DHT爬虫,实现从DHT网络爬取BT种子
    以下是一个简单的使用C++编写的DHT爬虫,以从DHT网络中爬取BT种子:```cpp#include #include #incl...
    99+
    2023-10-12
    C++
  • 怎么使用Pytorch构建第一个神经网络模型
    这篇文章主要介绍“怎么使用Pytorch构建第一个神经网络模型”,在日常操作中,相信很多人在怎么使用Pytorch构建第一个神经网络模型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Pytorch构建...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作