我很困難,無法弄清楚爲什麼我的CrawlSpider無法拾取並處理HTML代碼中的相關鏈接。Scrapy不抓取LinkExtractor允許的頁面
下面是我可以通過一些PARAMS在命令行中,像這樣一個cawlspider:
scrapy crawl domain_spider -a url="https://djangosnippets.org/snippets/?page=15" -s ROBOTSTXT_OBEY=0 -s AUTOTHROTTLE_ENABLED=0
蜘蛛運行,絕對拒絕抓取列表分頁的頁面。該HTML看起來像這樣:
<a href="?page=5">< Previous 20</a>
如果我在PARAMS傳球像-a allowed="page="
的commans那麼它將皮卡兩個頁面,但它仍然拒絕繼續。
任何人都可以在我的代碼下面發現問題?
我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)