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

Col*_*rld 2 python parsing lxml beautifulsoup web-scraping

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

fur*_*ras 7

有三种类型的重定向

  • HTTP-如在响应标头信息(与代码301,302,3XX)
  • HTML- 作为<meta>HTML 中的标记(维基百科:元刷新)
  • 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)
Run Code Online (Sandbox Code Playgroud)

结果:

[<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
Run Code Online (Sandbox Code Playgroud)

顺便说一句:所以我不会在文本中添加有点链接,所以我使用了连接.