Используя Beautifulsoup4, я разбираю новостной сайт. Но я не могу справиться, чтобы избавиться от элементов html, чтобы получить чистый текст.
Существует также одна проблема, заключающаяся в том, что дата публикации новостей не в формате даты, я хотел бы изменить ее на формат даты, чтобы я мог отфильтровать ненужные новости.
Я интересно, какой формат будет полезен для хранения данных? Я буду использовать его в ML для обучения модели.
import requests
from bs4 import BeautifulSoup as bs
URL = 'http://marja.az/search?q='
# if there is a prabel inside of keyword merge with + sign
KEYWORDS = ['Valizada',
]
for key in KEYWORDS:
search_url = URL + key
print(search_url)
r = requests.get(search_url)
soup = bs(r.content, "lxml")
for data in soup.find_all("div", {"class": "searchNews"}):
for a in data.find_all("a"):
href = a.get("href")
# print(href)
link = "http://marja.az/" + href
print(link)
r1 = requests.get(link)
soup1 = bs(r1.content, "lxml")
header = soup1.findAll("h1", attrs={"class": "title"})
print(header)
paragraph = soup1.findAll("div", attrs={"class": "text"})
for p in paragraph:
print(p.findAll('p', text=True, recursive=False))
date = soup1.findAll("div", attrs={"class": "left"})
for d in date:
print(soup1.find('div', {'style': 'color: #af0000; margin:10px 0px 10px 0px; font-size:12px; '
'font-weight:bold; text-align:left;'}))
Желаемый результат:
Date, Header, Content