как получить данные из тегов <ul>, <li>l ist для извлечения данных - PullRequest
0 голосов
/ 02 мая 2019

Я уже извлек данные с веб-страницы, но не могу извлечь данные с веб-страницы, которая не имеет уникального идентификатора

Я уже пытался извлечь данные из веб-страницы с уникальными идентификаторами, такими как class, span, id, но что делать, если страница не имеет уникального идентификатора

url="https://dblp.org/"
r=requests.get(url)
print(r.content)
b=BeautifulSoup(r.text,"html.parser")
print(b.prettify())
a=b.find_all('ul',{"id":"browsable"})  #no id is available

На самом деле показывает None, где ожидаемые результаты должны быть списком доступных ссылок

1 Ответ

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

Вы можете использовать тип селектор для a тегов в li элементах.Используя родительский тег body в качестве примера, вы можете получить дочерние элементы li a href s со следующими данными:

import requests
from bs4 import BeautifulSoup

url = 'https://dblp.org/'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'lxml')
links = [item['href'] for item in soup.select('body li a')]
print(links)

Если необходимо иметь родительский тег ul, то:

body ul li a

Стоит отметить, что два тега сценария, в частности, также содержат структуру json со ссылками, доступными в зависимости от ваших потребностей.

...