Scrapy库安装和项目创建建议收藏

scrapy库安装使用pip命令安装scrapy,在安装过程中可能会因为缺少依赖库而报错,根据报错提示依次下载需要的依赖库,下载过程中注意系统类型和Python版本我在安装过程中依次安装的库有:

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Scrapy库安装和项目创建建议收藏此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

Scrapy是一个流行的网络爬虫框架,从现在起将陆续记录Python3.6下Scrapy整个学习过程,方便后续补充和学习。

本文主要介绍scrapy安装、项目创建和测试基本命令操作

scrapy库安装

  使用pip命令安装scrapy,在安装过程中可能会因为缺少依赖库而报错,根据报错提示依次下载需要的依赖库,下载过程中注意系统类型和Python版本

  我在安装过程中依次安装的库有:

  pip install pywin32-223-cp36-cp36m-win32.whl

  pip install Twisted-17.9.0-cp36-cp36m-win32.whl

  pip install scrapy

  Unofficial Windows Binaries for Python Extension Packages:https://www.lfd.uci.edu/~gohlke/pythonlibs/

创建项目

  scrapy安装成功后打开cmd进入想要存储scrapy项目的目录使用startproject命令创建一个新项目:

D:\>scrapy startproject scraptest
New Scrapy project 'scraptest', using template directory 'c:\\python36-32\\lib\\
site-packages\\scrapy\\templates\\project', created in:
    D:\scraptest

You can start your first spider with:
    cd scraptest
    scrapy genspider example example.com

在D:\scraptest\目录下会生成对应的架构目录树

scrapytest/
    scrapy.cfg
    scrapytest/
        __init__.py
        items.py          #定义抓取域的模型
        pipelines.py
        settings.py       #定义一些设置,如用户代理、爬取延时等
        middlewares.py
        __pycache__/
        spiders/
            __pycache__/
            __init__.py

创建爬虫

  使用genspider命令,传入爬虫模块名、域名以及可选模块参数

D:\scraptest>scrapy genspider country example.webscraping.com
Created spider 'country' using template 'basic' in module:
  scraptest.spiders.country

D:\scraptest\scraptest\spiders目录下创建country.py

# -*- coding: utf-8 -*-
import scrapy

class CountrySpider(scrapy.Spider):
    name = 'country'
    allowed_domains = ['example.webscraping.com']
    start_urls = ['http://example.webscraping.com/']

    def parse(self, response):
        pass

1. name作为爬虫名,必须指定名称,根据源码内容,若值为空会提示ValueErro

2. start_urls位爬取的网页

3. parse函数名不能修改,这是源码中指定的回调函数

测试爬虫

# -*- coding: utf-8 -*-
import scrapy
from lxml import etree

class CountrySpider(scrapy.Spider):
    name = 'country'
    allowed_domains = ['example.webscraping.com']
    start_urls = ['http://example.webscraping.com/places/default/view/Afghanistan-1']

    #该函数名不能改变,因为scrapy源码中默认callback函数的函数名就是parse
    def parse(self, response):
        tree = etree.HTML(response.text)
        for node in (tree.xpath('//tr/td[@class="w2p_fw"]')):
            print (node.text)

 使用crawl命令,可以根据-s LOG_LEVEL=DEBUG或-s LOG_LEVEL=ERROR来设置日志信息

D:\scraptest>scrapy crawl country --nolog
None
647,500 square kilometres
29,121,286
AF
Afghanistan
Kabul
None
.af
AFN
Afghani
93
None
None
fa-AF,ps,uz-AF,tk
None

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120195.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 基于mips内核的Atheros芯片–wlan中的VAP的创建「建议收藏」

    基于mips内核的Atheros芯片–wlan中的VAP的创建「建议收藏」重要是使用命令创建,可以通过无线网卡和手机登陆的无线网络标识。登陆名称就是ssid号。1:/etc/rc.d/rc.wlanup//这个文件主要用来加载wlan相应的驱动程序。2:配置ip地址,针对br0。ifconfigbr010.10.99.194up  3:创建基本的VAP/etc/rc.d/rc.wlanupwlanconfigath0creat

  • VAP简单解读_vip是什么意思

    VAP简单解读_vip是什么意思https://cloud.tencent.com/developer/article/1693852特点:1.先前市面已有开源方案,并非先例2.kotlin语言3.代码量较小,很快就能理解大致逻辑4.需要使用ffmpeg工具进行动画视频的二次处理基本原理:输入mp4文件->MediaExtractor->音频->AudioTrack->视频->Surface…

    2022年10月23日
  • arraydeque方法_arrayset

    arraydeque方法_arrayset美人如斯!ArrayDeque是java中对双端队列的线性实现一.特性无容量大小限制,容量按需增长; 非线程安全队列,无同步策略,不支持多线程安全访问; 当用作栈时,性能优于Stack,当用于队列时,性能优于LinkedList 两端都可以操作 具有fail-fast特征 不能存储null 支持双向迭代器遍历注意:ArrayDeque的迭代器和大多数容器迭代器一样,都是…

  • Shell 脚本:DDNS for aliyun

    Shell 脚本:DDNS for aliyun#!/bin/bashset-e#================================================================================================================##功能:用于更新阿里云域名IP,实现DDNS功能##在http://www.gebi1.com/forum.php?mod=viewthread&tid=287344&page=1&_dsign=8f94f7

  • 兄弟连新版Linux视频教程

    兄弟连新版Linux视频教程兄弟连新版Linux视频教程目录:F:\linux\兄弟连新版Linux视频教程├(1)云计算是什么东西集群又是嘛玩意?.mp4├(2)兄弟连新版Linux教程1.1.1Linux系统简介-UNIX发展历史和发行版本.mp4├(3)兄弟连新版Linux教程1.1.2Linux系统简介-Linux发展历史和发行版本.mp4├(4)兄弟连新版Linux教程1.2Linux系统简介-开源软件…

  • 前端参数用MD5加密[通俗易懂]

    前端参数用MD5加密[通俗易懂]今天来讲一下如何用这个MD5来加密第一步:两种导入MD5.js一种你可以到以下这个地址去下载MD5的js路径:https://www.bootcdn.cn/blueimp-md5/另一种下面是md5的js,直接复制下去放到js文件里。亲测可用varhexcase=0;varb64pad="";varchrsz=8;functionhex_md…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号