我正在尝试从此网站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。我应该在上面的代码中添加什么以获取所有列表的名称
您抓取了错误的网址。打开浏览器的检查器,转到“网络”选项卡,您将看到名称位于
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"])
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。