Webscraping: проблемы с использованием findAll в BeautifulSoup - PullRequest
1 голос
/ 08 марта 2020

Я пытаюсь захватить все языки с этого сайта https://lawyers.justia.com/lawyer/ali-shahrestani-esq-198352.

У меня есть только строка кода, которую я хочу.

soup.findAll("div",{"class":"block-wrapper block"})

Вывод: '[Engli sh: Разговорный, письменный]'

На основе тегов я также попробовал

soup.findAll("ul",{"class":"has-no-list-styles"})

Вывод: 'Личная травма И Закон о занятости "

1 Ответ

1 голос
/ 08 марта 2020

Это должно сделать это, я думаю:

from bs4 import BeautifulSoup as bs
url = 'https://lawyers.justia.com/lawyer/ali-shahrestani-esq-198352'
data = requests.get(url)

soup = bs(data.text,'lxml')
target = soup.find_all("div",{"class":"heading-3 block-title iconed-heading font-w-bold"})
for t in target:
    if t.find('span', class_="jicon -large jicon-languages"):
        langs = t.find_next_sibling()
        for lang in langs.find_all('li'):
            print(lang.text)  

Вывод:

English: Spoken, Written
French: Spoken, Written
Italian: Spoken, Written
Persian: Spoken
Spanish: Spoken, Written
...