我遇到的问题是我想从此页面获取相关链接:http://support.apple.com/kb/TS1538 http://support.apple.com/kb/TS1538
如果我在 Chrome 或 Safari 中检查 Element,我可以看到<div id="outer_related_articles">
以及列出的所有文章。如果我尝试用 BeautifulSoup 抓取它,它会抓取页面和所有内容except相关文章。
这是我到目前为止所拥有的:
import urllib2
from bs4 import BeautifulSoup
url = "http://support.apple.com/kb/TS1538"
response = urllib2.urlopen(url)
soup = BeautifulSoup(response.read())
print soup
此部分是使用 Javascript 加载的。禁用浏览器的 Javascript,看看如何BeautifulSoup
“看到”该页面。
从这里您有两个选择:
- 使用无头浏览器,它将执行 Javascript。请参阅有关此问题的问题:适用于 Python 的无头浏览器(需要 JavaScript 支持!) https://stackoverflow.com/questions/6025082/headless-browser-for-python-javascript-support-required
- 尝试弄清楚苹果网站如何加载内容并模拟它 - 它可能对某个地址进行 AJAX 调用。
经过一番挖掘后,它似乎向这个地址发出了请求()并使用 JSONP 加载结果KmLoader.receiveSuccess
是接收函数的名称。使用 Chrome 开发工具的 Firebug 更详细地检查页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)