用Python手把手教你实现一个爬虫(含前端界面)
创建一个简单的爬虫并不复杂,但是为了保持答案的简洁性,我们将使用一个简化的例子。以下是一个使用Python和PyQt5创建用户界面的简单网页爬虫示例。
首先,安装必要的库:
pip install requests pyqt5 pyqt5-tools
以下是爬虫的代码:
import requests
from bs4 import BeautifulSoup
def fetch_website_content(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
return None
def parse_content(html):
soup = BeautifulSoup(html, 'html.parser')
return soup.title.string
def crawl(url):
html = fetch_website_content(url)
if html:
title = parse_content(html)
return title
return "Failed to crawl"
以下是用户界面的代码:
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QLineEdit, QPushButton, QMessageBox
class CrawlerUI(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("Crawler")
self.layout = QVBoxLayout()
self.url_edit = QLineEdit()
self.crawl_button = QPushButton("Crawl")
self.crawl_button.clicked.connect(self.on_crawl_clicked)
self.layout.addWidget(self.url_edit)
self.layout.addWidget(self.crawl_button)
central_widget = QMainWindow()
central_widget.setLayout(self.layout)
self.setCentralWidget(central_widget)
self.show()
def on_crawl_clicked(self):
url = self.url_edit.text()
title = crawl(url)
QMessageBox.information(self, "Crawler", f"Title of webpage: {title}")
if __name__ == "__main__":
app = QApplication([])
crawler_ui = CrawlerUI()
app.exec_()
这个用户界面包含一个输入框和一个按钮,用户可以输入网址,然后点击按钮开始爬取网页。爬取的结果会以弹窗的形式展示给用户。
请注意,这个爬虫示例非常基础,只能用于简单的教学目的。在实际应用中,你需要处理更多的异常情况,例如网络错误、HTTP错误、解析错误等,并确保遵守网站的爬取政策。
评论已关闭