如何在Scrapy中处理页面中的书签重定向(911错误)

时间:2018-11-23 17:21:57

标签: python scrapy

我对编程非常陌生,所以如果这是一个菜鸟问题,我深表歉意。我是一名研究人员,并且一直在开发蜘蛛以使我能够抓取游戏论坛IGN的特定搜索结果。第一个蜘蛛网收集搜索结果中的每个条目以及URL,然后第二个蜘蛛网对内容的每个URL进行爬网。

问题是IGN将与特定帖子相关的URL重定向到一个新URL,该URL在地址末尾包含#bookmark。这使页面的访问者可以直接跳到相关帖子,但是我希望我的蜘蛛爬到整个线程上。此外,重定向后,我的蜘蛛最终会出现(911)错误,并且不返回任何数据。唯一检索到的数据来自直接链接到主题而不是主题的任何搜索结果。

我绝对感到困惑和困惑,所以任何帮助都会令人惊奇!这两个蜘蛛都附在下面。

蜘蛛1:

myURLs = [] baselineURL = "https://www.ign.com/boards/search/186716896/?q=broforce&o=date&page=" for counter in range (1,5):
    myURLs.append(baselineURL + str(counter))

class BroforceIGNScraper(scrapy.Spider):
    name = "foundation"
    start_urls = myURLs

    def parse(self,response):
        for post in response.css("div.main"):
            yield {
                'title': post.css("h3.title a::text").extract_first(),
                'author': post.css("div.meta a.username::text").extract_first(),
                'URL': post.css('h3 a').xpath('@href').extract_first(),
            }

蜘蛛2:

URLlist = []
baseURL = "https://www.ign.com/boards/"

import csv
with open('BroforceIGNbase.csv', 'r', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        URLlist.append(baseURL + row['URL'])

class BroforceIGNScraper(scrapy.Spider):
    name = "posts2"
    start_urls = URLlist

    # handle_httpstatus_list = [301]

    def parse(self,response):
        for post in response.css(".messageList"):
            yield {
                'URL': response.url,
                'content': post.css(".messageContent article").extract_first(),
                'commentauthor': post.css("div.messageMeta a::text").extract_first(),
                'commentDateTime': post.css('div.messageMeta a span.DateTime').xpath('@title').extract_first(),
            }

0 个答案:

没有答案