очистка веб-страниц с помощью Beautifulsoup с использованием python, сохранение до MySQL - PullRequest
1 голос
/ 15 марта 2020

Я новичок в программировании, в настоящее время я учусь делать соскоб с использованием python. Ваш ответ или предложение будут полезны для моего учебного процесса.

Вот часть HTML. Я хочу извлечь информацию, включая данные, имя и его использование.

<h2>Jan. 2020</h2>
<p><strong>nameA:</strong>&nbsp;usage for somethingA</p>
<p><strong>nameB:</strong>&nbsp;usage for somethingB</p>

<h2>Dec. 2019</h2>
<p><strong>nameC:</strong>&nbsp;usage for somethingC</p>
<p><strong>nameD:</strong>&nbsp;usage for somethingD</p>
<p><strong>nameE:</strong>&nbsp;usage for somethingE</p>

Вот мой код очистки.

from bs4 import BeautifulSoup
import requests
res=requests.get("https://website for my web scarping")
soup=BeautifulSoup(res.text,"html.parser")

start = soup.find('h2', string = "Jan. 2020")
print (start.text)
for elem in start.next_siblings:
     if elem.name == 'h2':
         break
     if elem.name != 'p':
         continue
     print(elem.text)

start = soup.find('h2', string = "Dec. 2019")
print (start.text)
for elem in start.next_siblings:
     if elem.name == 'h2':
         break
     if elem.name != 'p':
         continue
     print(elem.text)

код сработал, и вот вывод.

Jan. 2020
nameA: usage for somethingA
nameB: usage for somethingB
Dec. 2019
nameC: usage for somethingC
nameD: usage for somethingD
nameE: usage for somethingE

Но моя главная цель - создать таблицу ниже, включающую дату, имя и использование, и сохранить данные в MySQL. Как мне это сделать? 1025 *?

Date        Name    Usage
Jan. 2020   nameA   somethingA
Jan. 2020   nameB   somethingB
Dec. 2019   nameC   somethingC
Dec. 2019   nameD   somethingD
Dec. 2019   nameE   somethingE

Этот веб-сайт обновляется время от времени и будет добавлен новый набор данных (например, март. 2020 г.) и удален старый набор данных (например, ноябрь 2019 г.). Как настроить код python для отражения изменений сайта?

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