Парсинг веб-страниц с использованием Python GUI
В этом блоге мы рассмотрим парсинг веб-страниц с использованием Python (модуль Tkinter).
Что такое парсинг веб-страниц на Python?
Парсинг веб-страниц - это техника извлечения данных с веб-страниц, но автоматизированным способом.
В этом проекте мы можем собирать веб-данные с помощью любого правильного URL-адреса веб-сайта и находить определенное слово.
Теперь давайте начнем проект, используя Python GUI для парсинга веб-страниц:
Код проекта:
Для кода этого проекта нажмите на ссылку ниже:
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, робототехнику...
Автор: Priyanka Prasad
Редакторы: Riya Patidar, Devendra Patidar, Ashutosh Raghuwanshi