2016-10-26 3 views
0

Я хочу, чтобы извлечь данные из мкла и это ули внутри DIV и так on.I сделал это с LXML, но теперь я хочу попробовать с красивым супомэкстракт BeautifulSoup данных внутри DIV из дивы

import requests 
from bs4 import BeautifulSoup 

headers = {'User-Agent': 'Mozilla/5.0'} 

url = "https://linkedin.com/company/1005" 

r = requests.get(url, headers=headers) 
print(r.text) 

soup = BeautifulSoup(r.text, 'html.parser') 

div = soup.find_all('div', class_="basic-info-description") 
print div 

enter image description here

+1

любая специальная причина для желающих использовать bs4? на мой взгляд, 'lxml' лучше, чем bs4 в большинстве случаев ... – Urban48

+1

сначала вы используете неправильный класс' ul' внутри 'basic-info-about' second, найдите этот div, а затем используйте' findChildren() ', чтобы получить всех детей петля над ними, а затем проверить 'tag.name == 'ul'', тогда у вас есть этот элемент, который вы хотите с ним –

ответ

2

Try:

for ana in soup.findAll('ul'): 
    if ana.parent.name == 'div': 
    #ana is the ul with a div parent 
1

вы можете просто использовать поиск (Все) снова на Bs объекты, которые вы нашли, как:

ul = soup.findAll('div', attrs={'class':'basic-info-about'}).find('ul') 

Недостатком вышеуказанного кода является то, что он поднимет ошибку, если первый div не находится в html-коде. Лучше было бы:

divs = soup.findAll(''div', attrs={'class':'basic-info-about'}') 
for div in divs: 
    ul = div.find('ul')