BeautifulSoup无法找到[a href]标签

时间:2017-03-11 18:21:03

标签: python-3.x web-scraping beautifulsoup

enter image description here

page = "http://www.flashscore.com/"
soup =  bs(request.urlopen(page).read(), 'lxml')
typeyourcountry = input("Type in the NAME  or ID of the country you're looking for : ")

a = '/soccer/' + typeyourcountry.lower()

for link in soup.findAll('a', attrs={'href': re.compile(a)}):
    print (link)
    find_urls = re.compile(a+'(.*?)"')

输出:

<a href="/soccer/serbia/" onclick="return cjs.dic.get('Helper_Menu').lmenu(167,req_url,1);">Serbia</a>
<a href="/soccer/serbia/super-liga/">Super Liga</a>

即使有3个链接应该被输出,我只能找到一个,这是一个动态链接还是有人对任何事情有什么想法? 正如你可以在图像上看到的那样,有三个链接应该输出,我可以在源查看器中看到它们中的每一个,但不知道除此之外还有什么,感谢帮助! 刚注意到JS:

onclick="return cjs.dic.get('Helper_Menu').lmenu(167,req_url,1);

我想上面的这个脚本揭示了信息(我正在寻找),有什么方法可以让我用python显示它,发出相同的请求js请求,只得到那部分数据或者什么&#39;可行的解决方案?

摘要:一个网站有FrontEnd JS脚本,显示特定信息

如何在Python或BeautifulSoup中实现这种请求,是否有其他库有解决方案?

1 个答案:

答案 0 :(得分:1)

这是因为其他链接是使用 Javascript 生成的。事实上,如果你在浏览器中使用开发工具并停用JS,你会发现只有BeautifulSoup找到的链接。

如果您希望显示其他链接,则应使用 PhantomJS ;)

见啊!