使用Python和BeautifulSoup

时间:2015-09-27 06:29:31

标签: python redirect web-scraping beautifulsoup mechanize

阅读多年后,这是我的第一个问题。在此先感谢您的帮助!

我希望从福布斯网站上的文章中搜集内容。这是一个示例页面:http://www.forbes.com/sites/katevinton/2015/09/22/google-microsoft-qualcomm-and-baidu-announce-joint-investment-cloudflare/。直接加载文章时,页面源会变成一堆难以解析的JavaScript。但是,当我点击“打印”按钮时,它会在URL上附加一个“/ print /”并给我一个页面,我可以使用BeautifulSoup进行解析。

当我输入附加了“/ print /”的网址时,它会重定向到非“/ print /”页面。当我点击按钮时,我只进入实际的“/ print /”页面。因此,我的问题是:如何以编程方式模拟单击该打印按钮以进入Beautiful Soup可废弃页面?人们似乎建议机械化来模拟浏览器操作,但我不确定在这种情况下我会尝试用它来做什么。或者是否有更好的方法来完全删除这些数据?

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:2)

你需要使用referer set来请求它,所以这样的东西可以工作:

import requests

url = "http://www.forbes.com/sites/samsungbusiness/2015/09/23/how-your-car-is-becoming-the-next-hot-tech-gadget/print/"
print requests.get(url, headers={"referer": url.replace("print/", "")}).content