scrapy重定向到127.0.0.1

2024-09-28 17:29:05 发布

您现在位置:Python中文网/ 问答频道 /正文

这是个新手。我试图从网桥网站上获取一些基本数据,但由于某些原因,我一直被重定向回本地主机。在

对于大多数其他网站(例如本教程中的dmoz示例)来说,这种情况不会发生。我的预感是我还没有设置一些东西来处理这个域。我的蜘蛛(几乎与教程中的蜘蛛完全相同,只是URL发生了变化):

import scrapy

class BboSpider(scrapy.Spider):
    name = "bbo"
    allowed_domains = ["bridgebase.com"]
    start_urls = [
            "http://www.bridgebase.com/vugraph/schedule.php"
            ]

    # rules for parsing main response
    def parse(self, response):
        filename = 'test.html' 
        with open(filename, 'wb') as f:
            f.write(response.body)

我得到的错误是(相关部分):

^{pr2}$

这可能是一个超级基本的问题,但我有很多麻烦,甚至想知道从哪里开始。有人预感从哪里开始?在


Tags: 数据com网站response原因教程filename重定向
1条回答
网友
1楼 · 发布于 2024-09-28 17:29:05

您必须提供一个User-Agent头来假装是一个真正的浏览器。在

您可以通过提供headers字典,同时从start_requests()返回{}字典,直接在spider中执行此操作:

import scrapy

class BboSpider(scrapy.Spider):
    name = "bbo"
    allowed_domains = ["bridgebase.com"]

    def start_requests(self):
        yield scrapy.Request("http://www.bridgebase.com/vugraph/schedule.php", headers={
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36"
        })

    # rules for parsing main response
    def parse(self, response):
        filename = 'test.html'
        with open(filename, 'wb') as f:
            f.write(response.body)

或者,您可以设置^{} project setting。在

相关问题 更多 >