无论如何要刮掉重定向的链接?

时间:2016-12-24 04:01:34

标签: python parsing web-scraping beautifulsoup lxml

无论如何,我可以让python点击一个链接,如bit.ly链接,然后刮取结果链接?当我抓取某个页面时,我可以抓取的唯一链接是重定向的链接,重定向到的链接是我需要的信息所在的位置。

1 个答案:

答案 0 :(得分:6)

有三种类型的重定向

  • HTTP - 作为回复标题中的信息(包含代码301302,3xx)
  • HTML - HTML中的标记<meta>(维基百科:Meta refresh
  • JavaScript - 代码如window.location = new_url

requests执行HTTP重定向并将所有网址保留在r.history

import requests

r = requests.get('http://' + 'bit.ly/english-4-it')

print(r.history)
print(r.url)

结果:

[<Response [301]>, <Response [301]>]
http://helion.pl/ksiazki/english-4-it-praktyczny-kurs-jezyka-angielskiego-dla-specjalistow-it-i-nie-tylko-beata-blaszczyk,anginf.htm

BTW:因此我不会在文本中添加任何链接,所以我使用了连接。