【问题标题】:Retrieve information with BeautifulSoup使用 BeautifulSoup 检索信息
【发布时间】:2021-09-08 18:21:06
【问题描述】:

我使用请求登录此页面:现在我想检索此信息 在注册机构注册的法定名称 实体 ID 法律管辖权实体 法律形式代码 实体状态 并将它们添加到我的数据框中,使用 BeautifulSoup,但我没有不知道该怎么做。而且当我用Request打印文本时,做文本匹配太长了

我的代码:

import requests
from bs4 import BeautifulSoup

r = requests.get('https://www.lei-lookup.com/#!record;lei=335800NV2ZZ3157KUJ54', verify=False)

soup = BeautifulSoup(r.content)

print(soup.prettify())

【问题讨论】:

  • 嘿@Tiffany Zucman 欢迎来到 SO!到目前为止您尝试实现的内容也请添加,您遇到了哪些错误,以便更好地理解!
  • 我有这个,但我不知道如何使用 beautifulsoup gmpg.org/xfn/11" rel="profile"/>
  • 你动态请求的页面,所以你需要 selenium 来获取数据
  • 我无法在我的机器上安装 selenium,因为你需要 ex 的路径,而我无法在我的机器上安装 ex
  • 同意@Abhishek,您无法仅通过请求获取数据,您需要硒来实现这一点

标签: python beautifulsoup request


【解决方案1】:

您可以从 xhr 获取数据,转到网络选项卡并调用包含上述数据的 url,这些数据以 json 形式存在,其中body 包含标签,因此我们可以从bs4 提取文本作为输出。

import requests
from bs4 import BeautifulSoup

r = requests.get('https://www.lei-lookup.com/record/api/335800NV2ZZ3157KUJ54')

main_data=r.json()
html=main_data['body']
soup=BeautifulSoup(html, 'html.parser')
rows=soup.find("div",class_="details-table-row").find_all("div",class_="row")
for row in rows:
   
    print(row.select_one("div.title-block").text,end=" ")
    print(row.select_one("div.value-block").text)

输出:

Legal Name CASUAL CLOTHING COMPANY
Registered At RA000709
Registration Authority Entity ID 3294013167
Legal Jurisdiction IN
Entity Legal Form Code A0PS
Entity Status ACTIVE

【讨论】:

  • 使用 json 的巧妙方法
  • 感谢您的回复。最后一件事,如何将每个实体放在 pandas like 列中(法定名称、注册地点、注册机构实体 ID、法律管辖权、实体法律形式代码、实体状态)和值一致(CASUAL CLOTHING COMPANY , RA000709, 3294013167, IN, A0PS, ACTIVE)
  • 您可以像按列一样传递它,也可以将其附加到列表中,直接数据框中的列表可能是
  • 谢谢。你能在你的代码中举个例子吗?
  • 我认为尝试你应该从你身边尝试,如果你遇到任何错误,请为它创建单独的帖子,所以如果可能的话你可以接受这个答案会很好!
猜你喜欢
  • 2017-04-08
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多