我尝试使用类似问题的技巧,但没有成功。 最后,我回到起点,想请教您。
我无法执行带有刮擦飞溅的递归爬网过程,但是在单个页面上没有问题。我看到了要抓取的错误网址中的问题:
2019-04-16 16:17:11 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to '192.168.0.104': <GET http://192.168.0.104:8050/************>
但是链接必须为https://www.someurl.com/***************
def start_requests(self):
for url in self.start_urls:
yield scrapy.Request(url, self.parse, meta={'splash': {'endpoint': 'render.html', 'args': {'wait': 0.5}}})
def parse(self, response):
***********
items_urls = ***********
for url in items_urls.extract():
yield Request(urlparse.urljoin(response.url, url), callback=self.parse_items, meta={'item': item})
def parse_items(self, response):
***********
yield item
答案 0 :(得分:0)
我找到了解决方法:
只需删除一个public onChange(event: { target: { name: keyof IAddPlayerFormState ; value: any; }; })
模块并将其更改为一个简单的字符串,例如urlparse.urljoin(response.url, url)
现在所有链接都是正确的,并且爬网过程可以正常工作。
但是现在我在抓取循环方面遇到了一些麻烦,但这是另一个问题:)