ウェブクローラ、Scrapyモジュールは、自動再帰のURLをur--複製解決します

クロールURLを通じて一般的なクロールが繰り返されていない何の説明クロールされませんが存在しない場合、あなたは、説明がレコードの上にクロールしているかどうかを判断するために、現在のURLをURLを記録する必要があります

データベースを保存する場合は、次のようにURLレコードは、キャッシュされた、またはデータベースすることができます。

IDのURLの暗号化は、元のURL(将来の検索のために索引付け)

少なくとも三つのフィールドが必要ですURLリストを保存
1を、フィールド(将来の検索のためのインデックス化)URLの暗号化:そのような速い速度を照会するために使用され、
2、元のURL、異なる暗号同じURLの出現を防ぐために、比較を行うURLを暗号化するために使用暗号化された値

自動再帰URL

# -*- coding: utf-8 -*-
import scrapy       #导入爬虫模块
from scrapy.selector import HtmlXPathSelector  #导入HtmlXPathSelector模块
from scrapy.selector import Selector

class AdcSpider(scrapy.Spider):
    name = 'adc'                                        #设置爬虫名称
    allowed_domains = ['hao.360.cn']
    start_urls = ['https://hao.360.cn/']

    def parse(self, response):

        #这里做页面的各种获取以及处理

        #递归查找url循环执行
        hq_url = Selector(response=response).xpath('//a/@href')   #查找到当前页面的所有a标签的href,也就是url
        for url in hq_url:                                        #循环url
            yield scrapy.Request(url=url, callback=self.parse)    #每次循环将url传入Request方法进行继续抓取,callback执行parse回调函数,递归循环

        #这样就会递归抓取url并且自动执行了,但是需要在settings.py 配置文件中设置递归深度,DEPTH_LIMIT=3表示递归3层

これは、URLをフェッチし、自動的に再帰的実行が、再帰settings.py構成ファイルの深さを設定する必要があります、DEPTH_LIMIT = 3は、3層の再帰を表します

あなたがプログラミングの世界ではまだ混乱している場合は、Pythonのバックルqun学ぶために私たちに参加することができます:784758214を、高齢者が学んでいる方法を見て。経験の交換。基本的なWeb開発Pythonスクリプトから、爬虫類、ジャンゴ、データマイニングや他のプロジェクトへのゼロベースのデータを戦うために仕上げています。どんな小さなPythonのパートナーに与えられました!いくつかの学習方法を共有し、細部に注意を払う必要があり、私たちに参加をクリックしてPythonの学習者の集い

ウェブクローラ、Scrapyモジュールは、自動再帰のURLをur--複製解決します

おすすめ

転載: blog.51cto.com/14510224/2432989