为什么我无法从网址中获取?

时间:2014-10-17 20:38:36

标签: python python-requests

import requests
from bs4 import BeautifulSoup

web = requests.get("http://minewind.com/forums", allow_redirects=False)

mems = BeautifulSoup(web.text)
mems.prettify()

for links in mems.find_all('a'):
    print (links.get("href"))

我试图从某个网页上抓取链接,但无论我做什么,它都不会从/ forums中获取但只能从minewind.com主页获取。无论我要求抓哪个网址。我使用类似于urllib的requests py库,我已经尝试过使用urllib并且它做了类似的事情。

1 个答案:

答案 0 :(得分:0)

您尝试访问的网址它不存在

>>> import requests
>>> r = requests.get("http://minewind.com/forums")
>>> r.status_code
404

这可能是由于用户代理检测;如果我将User-Agent标头设置为类似真实浏览器的东西,你会收到回复:

>>> r = requests.get("http://minewind.com/forums",
...     headers={'User-Agent': 'Mozilla'})
>>> r.status_code
200
>>> r.url
u'http://minewind.com/forums/'
>>> r.history
(<Response [301]>,)

您可以看到自己被重定向到最后带有/的网址。