我是 Python 新手。我正在尝试从网站上抓取数据,而我想要的数据无法在浏览器的视图 > 源中看到。它来自另一个文件。可以用 Beautifulsoup 和 Python 抓取屏幕上的实际数据吗?
示例网站 www[dot]catleylakeman[dot]co(dot)uk/cds_banks.php
如果没有,这可能使用其他路线吗?
谢谢
我是 Python 新手。我正在尝试从网站上抓取数据,而我想要的数据无法在浏览器的视图 > 源中看到。它来自另一个文件。可以用 Beautifulsoup 和 Python 抓取屏幕上的实际数据吗?
示例网站 www[dot]catleylakeman[dot]co(dot)uk/cds_banks.php
如果没有,这可能使用其他路线吗?
谢谢
“其他文件”是http://www.catleylakeman.co.uk/bankCDS.php?ignoreMe=1369145707664 - 您可以通过使用 chrome 的开发工具、网络选项卡(或在您的浏览器中等效)。
这种格式比最终的 html 更容易解析;如果网站没有像上面那样发布原始数据,通常应该使用 HTML 抓取工具作为最后的手段。
我的猜测是,您实际要查找的网址是:
http://www.catleylakeman.co.uk/bankCDS.php?ignoreMe=1369146012122
我使用开发人员工具栏并查看网络流量(chrome 和 firefox 内置,也使用 firebug)找到了它。它被 Ajax 调用。您甚至不需要美丽的汤来解析那个,因为它似乎是一个长字符串*|
,有时用 and分隔**|
。以下内容应使您可以初步访问该数据:
import urllib2
f = urllib2.urlopen('http://www.catleylakeman.co.uk/bankCDS.php?ignoreMe=1369146012122')
try:
data = f.read().split('*|')
finally:
f.close()
print data