为什么这个 Beautiful Soup 代码不能解析我要定位的文本?
Why won't this Beautiful Soup code parse the text I am targeting?
我正在尝试 select 此 10K 文件中的属性部分 header;一旦 select 从那里开始,我打算获取该部分中的文本(即属性和法律程序部分之间的所有文本 headers.
当我 运行 下面的代码时,我得到了 IndexError 'list index out of range' 但我不明白为什么因为
文本“PROPERTIES”似乎位于 'p' 标记内。我也尝试过使用 'id="ITEM_2_PROPERTIES"' 而不是 text= 但这也不起作用
我哪里错了?
import requests
from bs4 import BeautifulSoup
url = 'https://www.sec.gov/ix?doc=/Archives/edgar/data/1318605/000156459020004475/tsla-10k_20191231.htm'
soup = BeautifulSoup(requests.get(url).content, 'lxml')
properties_header = soup.find_all('p', text="PROPERTIES")[0]
print(properties_header)
这是因为您正在向 JS
呈现的网站发出请求,所以没有这样的 p
文本 PROPERTIES
。
但是,如果您更改目标 URL,则有一个:
import requests
from bs4 import BeautifulSoup
url = 'https://www.sec.gov/Archives/edgar/data/1318605/000156459020004475/tsla-10k_20191231.htm'
soup = BeautifulSoup(requests.get(url).content, 'lxml')
properties_header = soup.find_all('p', text="PROPERTIES")
print(properties_header)
输出:
[<p id="ITEM_2_PROPERTIES" style="margin-bottom:0pt;margin-top:0pt;font-weight:bold;font-style:normal;text-transform:none;font-variant: normal;font-family:Times New Roman;font-size:10pt;">PROPERTIES</p>]
我从开发人员工具中获得了新目标 URL。当您重新打开 JS
时会出现这种情况。所以,我猜你应该将 URL 作为你未来请求的目标。
我正在尝试 select 此 10K 文件中的属性部分 header;一旦 select 从那里开始,我打算获取该部分中的文本(即属性和法律程序部分之间的所有文本 headers.
当我 运行 下面的代码时,我得到了 IndexError 'list index out of range' 但我不明白为什么因为 文本“PROPERTIES”似乎位于 'p' 标记内。我也尝试过使用 'id="ITEM_2_PROPERTIES"' 而不是 text= 但这也不起作用
我哪里错了?
import requests
from bs4 import BeautifulSoup
url = 'https://www.sec.gov/ix?doc=/Archives/edgar/data/1318605/000156459020004475/tsla-10k_20191231.htm'
soup = BeautifulSoup(requests.get(url).content, 'lxml')
properties_header = soup.find_all('p', text="PROPERTIES")[0]
print(properties_header)
这是因为您正在向 JS
呈现的网站发出请求,所以没有这样的 p
文本 PROPERTIES
。
但是,如果您更改目标 URL,则有一个:
import requests
from bs4 import BeautifulSoup
url = 'https://www.sec.gov/Archives/edgar/data/1318605/000156459020004475/tsla-10k_20191231.htm'
soup = BeautifulSoup(requests.get(url).content, 'lxml')
properties_header = soup.find_all('p', text="PROPERTIES")
print(properties_header)
输出:
[<p id="ITEM_2_PROPERTIES" style="margin-bottom:0pt;margin-top:0pt;font-weight:bold;font-style:normal;text-transform:none;font-variant: normal;font-family:Times New Roman;font-size:10pt;">PROPERTIES</p>]
我从开发人员工具中获得了新目标 URL。当您重新打开 JS
时会出现这种情况。所以,我猜你应该将 URL 作为你未来请求的目标。