Очистить веб-сайт MediaWiki (определенные HTML-теги) с помощью Python - PullRequest
0 голосов
/ 24 ноября 2018

Я хотел бы очистить этот конкретный веб-сайт MediaWiki определенными тегами.Вот мой текущий код.

import urllib.request
from bs4 import BeautifulSoup

url = "https://wiki.sa-mp.com/wiki/Strfind"
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, "html.parser")

# kill all script and style elements
for script in soup(["script", "style"]):
    script.extract()    # rip it out

# get text
text = soup.get_text()

# break into lines and remove leading and trailing space on each
lines = (line.strip() for line in text.splitlines())
# break multi-headlines into a line each
chunks = (phrase.strip() for line in lines for phrase in line.split("  "))
# drop blank lines
text = '\n'.join(chunk for chunk in chunks if chunk)

print(text)

Если вы посмотрите на URL, есть description, parameters, return values и example usage.Это то, что я хотел бы очистить.Спасибо!

1 Ответ

0 голосов
/ 24 ноября 2018

Может быть более эффективный способ сделать это, но ниже используются селекторы css для получения этой информации

from bs4 import BeautifulSoup
import requests as re

url ="https://wiki.sa-mp.com/wiki/Strfind"
response = re.get(url)
soup = BeautifulSoup(response.content, "lxml")

description = soup.select_one('.description').text
initial_parameters = soup.select('.parameters,.param')
final_parameters = [parameter.text for parameter in initial_parameters]
returnValues = soup.select_one('#bodyContent > .param + p + div').text
exampleUsage = soup.select_one('.pawn').text

results = [description,final_parameters,returnValues,exampleUsage]
print(results)
...