CoderCastrov logo
CoderCastrov
Питон

Парсинг веб-страниц с использованием Python GUI

Парсинг веб-страниц с использованием Python GUI
просмотров
3 мин чтение
#Питон

В этом блоге мы рассмотрим парсинг веб-страниц с использованием Python (модуль Tkinter).

Что такое парсинг веб-страниц на Python?

Парсинг веб-страниц - это техника извлечения данных с веб-страниц, но автоматизированным способом.

В этом проекте мы можем собирать веб-данные с помощью любого правильного URL-адреса веб-сайта и находить определенное слово.

Теперь давайте начнем проект, используя Python GUI для парсинга веб-страниц:

Код проекта:

Для кода этого проекта нажмите на ссылку ниже:

https://github.com/Platforuma/medium_blog/blob/cf770c355439ec4d4175eaf71f07514df677460c/web_scraping.py

from tkinter import * import requests from bs4 import BeautifulSoup

Tkinter - это имя библиотеки GUI в Python. Создание GUI-приложения с использованием Tkinter - это простая задача.

BeautifulSoup?

BeautifulSoup - это библиотека Python для извлечения данных из HTML и XML файлов.

(Для получения дополнительной информации о модуле BeautifulSoup обратитесь к этой документации)

root = Tk() root.title("Web Scraper") root.geometry("500x400")

Класс Tk используется для создания корневого окна. Здесь объект root - это имя корневого окна. Tkinter предоставляет множество методов, одним из которых является метод geometry().

(Для получения дополнительной информации о методах геометрии обратитесь к этой документации)

def find(): if entry.get(): if entry_1.get(): url = entry.get() r = requests.get(url) htmlContent = r.content soup = BeautifulSoup(htmlContent,"html.parser") abc = soup.find().get_text(entry_1.get()) file = open(entry_2.get(),"w") file.write(abc)

Теперь на следующей строке мы определяем функцию с именем find.

Теперь мы создаем переменную URL, в которой храним значение из объекта entry. Здесь мы применяем функцию get к объекту entry.

Теперь в этой строке кода мы определяем переменную htmlContent для хранения значения содержимого.

Здесь в этой строке кода мы определяем объект soup для хранения значения метода BeautifulSoup. Мы используем метод Beautiful Soup на содержимом HTML и также передаем все содержимое в форме DOM.

В этой строке кода мы определяем переменную abc, и здесь переменная abc хранит значение функции find объекта soup.

Здесь в следующей строке кода мы определяем объект file для открытия любого файла и также применяем операцию записи в файл.

label = Label(root,text="Введите правильный URL",font=('arial',20),fg="black") label.place(x=138,y=30) entry = Entry(root, width=45) entry.place(x=120, y=80) label_1 = Label(root,text="Найти слова",font=('arial',20),fg="green") label_1.place(x=40,y=130) entry_1 = Entry(root) entry_1.place(x=200, y=142)

Теперь перейдем к разделу проектирования окна GUI. Здесь мы используем некоторые Label, Entry Box и Button в проекте.

(Для получения дополнительной информации о методе Label обратитесь к документации)

В этой строке кода мы присваиваем место метке Label, используя значения координат x или y.

(Для получения дополнительной информации о методе Place обратитесь к документации)

Теперь мы собираемся работать с методом Entry. Чтобы определить объект entry для метода Entry на окне GUI и установить ширину Entry. Затем мы присваиваем место объекту entry, используя значения координат x или y.

Здесь снова мы определяем еще одну метку label_1 на окне GUI и пишем текст на метке и устанавливаем шрифт и FG метки. Теперь снова присваиваем место метке_1, используя значения координат.Теперь снова определен еще один Entry Box с именем объекта entry_1 на окне GUI. Снова мы присваиваем место объекту entry_1.

label_2 = Label(root,text="Укажите имя для сохранения файла",font=('arial',20),fg="green") label_2.place(x=30,y=180) entry_2 = Entry(root) entry_2.place(x=320, y=190) button = Button(root,width=10, text="click",command=find) button.place(x=180, y=240) root.mainloop()

В этой строке кода мы определяем метку_2 Label на окне GUI и пишем текст на метке и устанавливаем шрифт и FG метки. Затем присваиваем место метке_2. Здесь снова мы определяем объект entry_2. Снова мы присваиваем место объекту entry_2.

Теперь перейдем к разделу кнопки проекта.

Итак, давайте начнем с того, как работает кнопка. Здесь мы определяем объект кнопки метода Button на окне GUI и даем команду find при нажатии кнопки для выполнения действия. Здесь мы присваиваем место объекту кнопки, используя значения координат.

Теперь перейдем к последней строке кода проекта - функции mainloop, которая обеспечивает бесконечный цикл.

(Для получения дополнительной информации о работе с файлами обратитесь к этой документации)

Здесь мы завершаем полноценный проект GUI с использованием Python Tkinter, requests и BeautifulSoup модуля.

Ссылка на наши блоги по Python:

https://medium.com/@platforuma

Посетите наш веб-сайт:

Учиться, инновировать и вдохновляться - Platforuma®

Platforuma - это стартап ED-Tech, базирующийся в Индоре, предоставляющий обучение и тренинг по Arduino, обучение Python, робототехнику...

www.platforuma.com

Автор: Priyanka Prasad

Редакторы: Riya Patidar, Devendra Patidar, Ashutosh Raghuwanshi