2013-02-15 83 views
0

在过去,当我使用BeautifulSoup和lxml解析网页时,它非常容易,因为链接看起来像这样:<a href="www.website.com">Website</a>。但是,我遇到了一些链接出现在浏览器中但不在页面源中的网页。解析Javascript生成HTML的链接?

例如,在this Edmunds.com page,所述Past Long-Term Road Tests部分看起来像这样:

1991 Acura NSX
2011 Acura TSX Sport Wagon
...


然而,为了the pagePast Long Long-Term Road Tests部的源代码看起来是这样的:

<script type="text/javascript"> 
PAGESETUP.addControl(function() { 
function linksObj(){ 
var elink = "|acura|nsx|1991|long-term-road-test|"; //generates edmunds.com/acura/nsx/1991/long-term-road-test/ 
this.link0 = {anchor:elink,label:"1991 Acura NSX"}; 
var elink = "|acura|tsx-sport-wagon|2011|long-term-road-test|"; //generates edmunds.com/acura/tsx-sport-wagon/1991/long-term-road-test/ 
this.link1 = {anchor:elink,label:"2011 Acura TSX Sport Wagon"}; 
... 
} 
var links_obj = new linksObj(); 
var links_container = document.getElementById('links_list_offpage2'); 
var more_link = ""; 
var more_link_text = ""; 
var elinks = new EDMUNDS.linksList(links_obj, links_container,more_link, more_link_text); 
}, 'low'); 
</script> 

Javascript行var elink = "|acura|nsx|1991|long-term-road-test|";在浏览器中被扩展为edmunds.com/acura/nsx/1991/long-term-road-test


工具像BeautifulSoup和LXML目前还没有找到那些在Javascript中生成的链接。我如何解析这些链接?

+0

复制'EDMUNDS.linkList'函数我猜 – 2013-02-15 05:56:07

回答