MySQL是一個流行的關(guān)系型數(shù)據(jù)庫,用于存儲和處理大量結(jié)構(gòu)化數(shù)據(jù)。MySQL也是一個適合爬蟲的數(shù)據(jù)庫,因為數(shù)據(jù)可以輕松地通過SQL查詢來訪問和處理。在本文中,我們將介紹如何使用Python編寫MySQL爬蟲。
import requests from bs4 import BeautifulSoup import mysql.connector # 連接MySQL數(shù)據(jù)庫 mydb = mysql.connector.connect( host="localhost", user="root", password="yourpassword", database="yourdatabase" ) # 創(chuàng)建游標(biāo)對象 mycursor = mydb.cursor() # 爬取網(wǎng)頁內(nèi)容 url = "https://www.example.com" response = requests.get(url) soup = BeautifulSoup(response.text, "html.parser") # 從網(wǎng)頁中抓取所需數(shù)據(jù) data = [] for item in soup.find_all("div", class_="item"): title = item.find("h2").text link = item.find("a")["href"] data.append((title, link)) # 將抓取的數(shù)據(jù)插入MySQL數(shù)據(jù)庫 sql = "INSERT INTO mytable (title, link) VALUES (%s, %s)" mycursor.executemany(sql, data) mydb.commit() print(mycursor.rowcount, "record inserted.")
在上述代碼中,我們首先使用Python連接到MySQL數(shù)據(jù)庫。接下來,我們使用requests和BeautifulSoup庫從網(wǎng)頁中抓取需要的數(shù)據(jù),并將其插入到我們的數(shù)據(jù)庫表中。最后,我們打印記錄的數(shù)量以確認(rèn)數(shù)據(jù)是否已成功插入。
MySQL爬蟲可以用于從網(wǎng)站中抓取各種數(shù)據(jù),如商品價格、天氣預(yù)報、新聞報道等。通過MySQL數(shù)據(jù)庫可以方便地存儲這些數(shù)據(jù),并通過SQL查詢來訪問和處理。此外,使用Python編寫爬蟲可以自動化數(shù)據(jù)抓取過程,令日常工作更加高效。