Beautifulsoup выскабливает названия - PullRequest
0 голосов
/ 06 июня 2018

Я собираюсь очистить заголовки внутри a-href с помощью BeautifulSoup.на самом деле, мой код не работает должным образом.

import requests
from bs4 import BeautifulSoup
name = 'Flow'
namec = 'Flow'
url = 'http://warframe.wikia.com/wiki/' + name
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
main_text = soup.find('div', class_='mw-content-ltr mw-content-text')
ada = main_text.find_all('a', title=True)

страница равна http://warframe.wikia.com/wiki/Flow

мне нужно извлечь данные из класса div pi-data-value pi-font, например так:

Missions:
Survival (DS3, T3)
Excavation (T3)
Enemies:
Arid Butcher 0.03%
Bailiff 0.03%
Bailiff Defector 0.03%
Butcher 0.03%
Drahk Master 0.03%
Drekar Manic 0.03%
Frontier Bailiff 0.03%
Frontier Butcher 0.03%
Grineer Manic 0.22%
Hyekka Master 0.03%
Infested Chroma 0.6%
Infested Mesa 0.6%
Kuva Butcher 0.03%
Kuva Drahk Master 0.03%
Kuva Hyekka Master 0.03%
Tenno Specter 0.6%
Tusk Butcher 0.03%
Other:
Orokin Tower Containers

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Вот, пожалуйста:

import requests
from bs4 import BeautifulSoup
name = 'Flow'
namec = 'Flow'
url = 'http://warframe.wikia.com/wiki/' + name
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
main_text = soup.find('div', id='mw-content-text').find_all('div', class_='pi-data-value pi-font')
for d in main_text:
    if d.find_next(string=True) == 'Missions:':
        snippets = str(d).split("<br/>")
        for snippet in snippets:
            snippet_soup = BeautifulSoup(snippet, 'html.parser')
            print(snippet_soup.text)
0 голосов
/ 06 июня 2018

Это не полное решение, которое вы ищете, но оно может помочь вам начать

import requests
from bs4 import BeautifulSoup

r = requests.get("http://warframe.wikia.com/wiki/Flow")
content = BeautifulSoup(r.text,'lxml')
main_div = content.find_all('div', {'class': ["pi-data-value", "pi-font"]})[3]
child_tags = main_div.findChildren()
for child in child_tags:
      print(child.text)

форматировать текст в соответствии с вашими потребностями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...