此网站响应
DEBUG: Crawled (520) <GET https://ddlfr.pw/> (referer: None)我该如何解决这个问题?
我发布了我的代码来解释
导入json
from scrapy import Spider, Request, Selector
class LoginSpider(Spider):
name = 'ddlfr.pw'
start_urls = ['https://ddlfr.pw/index.php?do=search']
numero = 0
def parse(self, response):
global numero
return scrapy.FormRequest.from_response(
response,
headers = {'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'},
formdata= {'dosearch': 'Rechercher', 'story': 'musso', 'do': 'search' , 'subaction': 'search', 'search_start': str(self.numero) , 'full_search': '0', 'result_form': '1'},
callback=self.after_login,
dont_filter = True
)
def after_login(self, response):
for title in response.xpath('//div[@class="short nl nl2"]'):
yield {'roman': title.extract()}发布于 2019-01-10 21:03:51
是,因为web需要有效的浏览器标头。而scrapy作为机器人发送报头。
尝试使用以下标头:
headers = {
'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}

您可以在您的网站上查看爬行状态
发布于 2019-01-11 20:22:17
我建议您在从web浏览器(开发人员工具的网络选项卡)发送表单时监视web浏览器的操作,并尝试使用Scrapy重现请求。
例如,在Firefox中,您可以将成功的请求从Network选项卡复制为curl命令,这是请求的清晰表示。
https://stackoverflow.com/questions/54129054
复制相似问题