私のCrawlSpiderがHTMLコードの相対リンクを取得して処理できない理由がわかりません。クモの実行LinkExtractorで許可されているページがクロールされていないページをスキャンしていません
scrapy crawl domain_spider -a url="https://djangosnippets.org/snippets/?page=15" -s ROBOTSTXT_OBEY=0 -s AUTOTHROTTLE_ENABLED=0
と絶対に、リスト内のページ番号付きページをクロールすることを拒否:
以下は、私はそうのように、コマンドラインからいくつかのparamsを渡すことができますするcawlspiderです。 HTMLは次のようになります。
<a href="?page=5">< Previous 20</a>
私は-a allowed="page="
ようcommansからのparamsに渡す場合、それはピックアップ2より多くのページをしますが、それはまだ継続を拒否しました。
誰も私のコードで問題を見つけることができますか?
マイCrawlSpider:
def __init__(self, url=None, category='default', allowed=None, denied=None, single_page=False, **kwargs):
self.category = category
if allowed == '':
allowed = None
if denied == '':
denied = None
if single_page is not False and single_page != '':
denied = '.*'
self.start_urls = ['{}'.format(url)]
self.allowed_domains = [urlparse(url).netloc]
self.domain = urlparse(url).netloc
self.rules = (
Rule(LinkExtractor(allow=allowed, deny=denied, unique=True), callback='parse_page'),
)
super(DomainSpider, self).__init__(**kwargs)