无论如何,我可以让python点击一个链接,如bit.ly链接,然后刮取结果链接?当我抓取某个页面时,我可以抓取的唯一链接是重定向的链接,重定向到的链接是我需要的信息所在的位置。
答案 0 :(得分:6)
有三种类型的重定向
HTTP
- 作为回复标题中的信息(包含代码301,302,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:因此我不会在文本中添加任何链接,所以我使用了连接。