Питон: красивый суп, чтобы получить текст - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь получить ссылку под a href, а также текст, доступный в следующем <td scope = "raw">

Я пробовал

url = "https://www.sec.gov/Archives/edgar/data/1491829/0001171520-19-000171-index.htm"
records = []
for link in soup.find_all('a'):
    Name = link.text
    Links = link.get('href')
    records.append((Name, Links))

Однако это дает мне eps8453.htm как текст, так как это текст под тегом <a href>. Можно ли как-нибудь найти текст, т. Е. "10-K" в теге <td scope = "raw"> рядом с тегом <a href>

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 16 мая 2019

Использовать тег find_next <td> после тега <a> внутри таблицы.

import requests
from bs4 import BeautifulSoup

url = "https://www.sec.gov/Archives/edgar/data/1491829/0001171520-19-000171-index.htm"
html=requests.get(url).text
soup=BeautifulSoup(html,'html.parser')
records = []
for link in soup.find('table', class_='tableFile').find_all('a'):
    Name = link.text

    Links = link.get('href')
    text=link.find_next('td').contents[0]
    print(Name,text)
    records.append((Name, Links,text))

Выход:

eps8453.htm 10-K
ex31-1.htm EX-31.1
ex31-2.htm EX-31.2
ex32-1.htm EX-32.1
yu-logo.jpg GRAPHIC
yu_sig.jpg GRAPHIC
0001171520-19-000171.txt 

1009 *

...