Я пытаюсь извлечь некоторые данные с веб-страницы, используя Запросы , а затем Beautifulsoup .Я начал с получения html-кода с помощью Requests, а затем «поместил его» в Beautifulsoup:
from bs4 import BeautifulSoup
import requests
result = requests.get("https://XXXXX")
#print(result.status_code)
#print(result.headers)
src = result.content
soup = BeautifulSoup(src, 'lxml')
Затем выделил несколько фрагментов кода:
tags = soup.findAll('ol',{'class':'activity-popup-users'})
print(tags)
Вот частьчто я получил:
<div class="account js-actionable-user js-profile-popup-actionable " data-emojified-name="" data-feedback-token="" data-impression-id="" data-name="The UN Times" data-screen-name="TheUNTimes" data-user-id="3787869561">
Теперь мне нужно извлечь данные после data-user-id=
, состоящие из чисел от ""
.Тогда я хотел бы, чтобы эти данные были введены в какой-то калькуляторный лист.Я абсолютный новичок, и я постэкспонирую код, который я нашел в других местах в учебниках или документации.Большое спасибо за ваше время ...
РЕДАКТИРОВАТЬ: Итак, вот что я попробовал:
from bs4 import BeautifulSoup
import requests
result = requests.get("https://XXXX")
src = result.content
soup = BeautifulSoup(src, 'html.parser')
tags = soup.findAll('ol',{'class':'activity-popup-users'})
print(tags['data-user-id'])
И вот что я получил:
TypeError: list indices must be integers or slices, not str
Итак, я попыталсячто:
from bs4 import BeautifulSoup
import requests
result = requests.get("https://XXXX")
src = result.content soup = BeautifulSoup(src, 'html.parser')
#tags = soup.findAll('a',{'class':'account-group js-user-profile-link'})
tags = soup.findAll('ol',{'class':'activity-popup-users'})
tags.attrs
#print(tags['data-user-id'])
и получил:
File "C:\Users\XXXX\element.py", line 1884, in __getattr__
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key
AttributeError: ResultSet object has no attribute 'attrs'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?