Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要从html页面检索使用json对象python的所有用户_Python_Rest_Api - Fatal编程技术网

需要从html页面检索使用json对象python的所有用户

需要从html页面检索使用json对象python的所有用户,python,rest,api,Python,Rest,Api,我正在学习使用python的RESTAPI。以及使用html页面 如何使用json对象从这里检索所有用户 尝试了以下代码: from bs4 import BeautifulSoup content = ''' <span class="username"> <a href="#">Jonathan Burke Jr.</a> <a href="#" class="pull-right btn-box-tool"><i class="fa f

我正在学习使用python的RESTAPI。以及使用html页面

如何使用json对象从这里检索所有用户

尝试了以下代码:

from bs4 import BeautifulSoup
content = '''
<span class="username">
<a href="#">Jonathan Burke Jr.</a>
<a href="#" class="pull-right btn-box-tool"><i class="fa fa-times"></i></a>
</span>
'''
soup = BeautifulSoup(content, 'html.parser')
spans = soup.find_all("span", {"class": "username"})
for span in spans:
    links = span.find_all('a')
    for link in links:
        print(link['href'])
从bs4导入美化组
内容=“”
'''
soup=BeautifulSoup(内容为“html.parser”)
span=soup.find_all(“span”,{“class”:“username”})
对于跨度中的跨度:
links=span.find_all('a'))
对于链接中的链接:
打印(链接['href'])
还对所提到的链接中的一个用户名进行了检查 它表明

<span class="username">
                          <a href="#">Jonathan Burke Jr.</a>
                          <a href="#" class="pull-right btn-box-tool"><i class="fa fa-times"></i></a>
                        </span>attrs["username"]) 

属性[“用户名”])

请注意,您试图做的事情与REST无关,也与API无关

也就是说,您可以使用一个名为BeautifulSoup的整洁的python模块来解析HTML页面

编辑

试试这个

import requests
from bs4 import BeautifulSoup

r = requests.get("https://adminlte.io/themes/AdminLTE/pages/examples/profile.html")
soup = BeautifulSoup(r.text, 'html.parser')
name_box = soup.find('span', attrs={'class': 'username'})
print(name_box)
这有帮助吗

**编辑2**

如果要查找所有条目,请使用

import requests
from bs4 import BeautifulSoup

r = requests.get("https://adminlte.io/themes/AdminLTE/pages/examples/profile.html")
soup = BeautifulSoup(r.text, 'html.parser')
name_box = soup.findAll('span', attrs={'class': 'username'})
for name in name_box:
  print(name.find('a', href=True))

到目前为止,您的代码是什么?当我按照您的建议尝试此操作时,其中一个配置文件用户名被保存,但我遇到了一个错误,因为我不熟悉此操作,所以速度有点慢。从bs4导入json import BeautifulSoup=BeautifulSoup(s,“html.parser”)element=soup.find(“div”,class=“username”)print(element.attrs[“username”])jsonData=json.loads(element.attrs[“username”])print(jsonData[“name”])Hi在原始帖子上以编辑的形式发布代码,并添加您收到的错误。从未格式化的评论文本中有点难以理解。这是我在这里的第一个问题,我也将学习这一点。这篇文章是用正确的格式编辑的。谢谢太完美了,先生!还有一个问题,因为这个html页面有4个用户信息块,换句话说,显示了4个以上的用户,我需要为每个用户重复相同的操作吗?嘿,抱歉,耽搁了。签出新编辑。