开发者社区> 问答> 正文

使用beautifulsoup从HTML标签中抓取javascript

我正在尝试从此网站http://www.smfederation.org.sg/membership/members-directory的所有字母(Ato Z以及0-9)中抓取名称

但是名字好像在 href ="javascript:void(0)"

下面是我的代码:

import requests 
from bs4 import BeautifulSoup
url = "http://www.smfederation.org.sg/membership/members-directory"
for item in url:
    detail = requests.get(item)
    soup = BeautifulSoup(detail.content, 'html.parser')

我不知道如何在HTML中使用javascript。我应该在上面的代码中添加什么以获取所有列表的名称

展开
收起
安忆333 2019-12-05 19:39:13 1969 0
1 条回答
写回答
取消 提交回答
  • 您抓取了错误的网址。打开浏览器的检查器,转到“网络”选项卡,您将看到名称位于

    http://smfederation.org.sg/account/getaccounts
    
    

    它采用json格式,因此使用以下.json()方法返回的响应对象的方法加载它时,它将自动成为Python字典requests:

    >>> import requests
    >>> accounts = requests.get("http://www.smfederation.org.sg/account/getaccounts").json()
    >>> accounts["data"][0]["accountname"]
    'OPTO-PRECISION PTE LTD'
    

    您还可以使用for循环获取所有帐户,例如:

    for account in accounts["data"]:
        print(account["accountname"])
    
    2019-12-05 19:40:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载