gpt4 book ai didi

python - scrapy - 获取最终重定向的 URL

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:30 25 4
gpt4 key购买 nike

我试图在 scrapy 中获取最终重定向的 URL。例如,如果 anchor 标记具有特定格式:

<a href="http://www.example.com/index.php" class="FOO_X_Y_Z" />

然后我需要获取 URL 重定向到的 URL(如果是,如果它是 200 那么 OK)。例如,我得到了这样的适当 anchor 标记:

def parse (self, response)  
hxs = HtmlXPathSelector (response);
anchors = hxs.select("//a[@class='FOO_X_Y_Z']/@href");

// Lets assume anchor contains the actual link (http://...)
for anchor in anchors:
final_url = get_final_url (anchor); // << I would need something like this

// Save final_url

因此,如果我访问了 http://www.example.com/index.php,这将让我经历 10 次重定向,最后它会停在 http://www。 example.com/final.php - 这就是我需要 get_final_url() 返回的内容。

我想通过黑客手段找到解决方案,但我想问问 scrapy 是否已经提供了一个解决方案?

最佳答案

同样,假设 anchor 包含一个实际的 URL,我使用 urllib2 完成了它:

def parse (self, response)  
hxs = HtmlXPathSelector (response);
anchors = hxs.select("//a[@class='FOO_X_Y_Z']/@href");

// Lets assume anchor contains the actual link (http://...)
for anchor in anchors:
final_url = urllib2.open(anchor, None, 1).geturl()

// Save final_url

urllib2.open() 返回一个带有两个附加方法的类文件对象,其中之一是 geturl(),它返回最终的 URL(在所有重定向都已被跟踪)。它不是 Scrapy 的一部分,但它可以工作。

关于python - scrapy - 获取最终重定向的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12769994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com