scrapy-2.1spider基本用法

spider里主要有三个套路。
1.只爬取一个网页。
先上代码

import scrapy
from pyquery import PyQuery as pq

class SmzdmCrawler(scrapy.Spider):
    name = 'smzdm'
    allow_domains = ['smzdm.com']
    start_urls = ['https://faxian.smzdm.com/']

    def parse(self, response):
        res = pq(response.body)
        for item in res('.feed-block-ver').items():
            title = item('.feed-ver-title').text()
            print(title)

pycharm有个terminal,在最下面,在这里输入scrapy crawler 名字,这个名字就是name = ‘smzdm’,然后一个简单爬虫就运行起来了

《scrapy-2.1spider基本用法》 terminal位置

《scrapy-2.1spider基本用法》 爬虫启动

这里面的套路就是scrapy对单网页爬取造好了轮子,对于不需要特殊处理的请求,比如提供账号密码之类的,就能直接爬取。

对于分析部分,scarpy有自带的解析,但是我用惯了pyquery,自己喜欢就好。

因为内含了request方法,所以在前面要把url定义好,这里就是 start_urls 。
name = ‘smzdm’是调用这个爬虫,在多个爬虫时有个分辨。

这几句就是最基本的套路,需要记住。
class Smzdm(scrapy.Spider):
name = ‘smzdm’
start_urls = [‘https://faxian.smzdm.com/’]
def parse(self, response):
还有一句allow_domains用于过滤,过滤不是这个结尾的网址。
allow_domains作用

    原文作者:ddm2014
    原文地址: https://www.jianshu.com/p/e580c4f85df6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞