使用python實(shí)現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫
前言:要使用 Python 爬取網(wǎng)頁數(shù)據(jù)并將數(shù)據(jù)導(dǎo)入 MySQL 數(shù)據(jù)庫,您需要使用 Requests 庫進(jìn)行網(wǎng)頁抓取,使用 BeautifulSoup 庫對抓取到的 HTML 進(jìn)行解析,并使用 PyMySQL 庫與 MySQL 進(jìn)行交互。
以下是一個簡單的示例:
1. 安裝所需庫:
pip install requests beautifulsoup4 pymysql
2. 導(dǎo)入所需庫:
import requests from bs4 import BeautifulSoup import pymysql
3. 建立數(shù)據(jù)庫連接:
db = pymysql.connect(
host='localhost',
user='root',
password='password',
db='mydatabase'
)這里我們假設(shè)您已經(jīng)在本地搭建了 MySQL 數(shù)據(jù)庫,并創(chuàng)建了一個名為 `mydatabase` 的數(shù)據(jù)庫。您需要根據(jù)實(shí)際情況修改主機(jī)、用戶名、密碼和數(shù)據(jù)庫名。
4. 使用 Requests 庫抓取網(wǎng)頁:
url = 'http://www.example.com' response = requests.get(url) html = response.text
5. 使用 BeautifulSoup 庫解析 HTML:
soup = BeautifulSoup(html, 'html.parser')
data = soup.find_all('a')6. 使用 PyMySQL 庫將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫:
cursor = db.cursor()
for item in data:
title = item.string
url = item.get('href')
sql = f"INSERT INTO mytable (title, url) VALUES ('{title}', '{url}')"
cursor.execute(sql)
db.commit()這里我們使用了 PyMySQL 庫的 `cursor` 方法創(chuàng)建游標(biāo),然后遍歷解析后的數(shù)據(jù),并使用 SQL 語句將數(shù)據(jù)插入到數(shù)據(jù)庫表中。
完整的示例代碼如下:
import requests
from bs4 import BeautifulSoup
import pymysql
# 建立數(shù)據(jù)庫連接
db = pymysql.connect(
host='localhost',
user='root',
password='password',
db='mydatabase'
)
# 抓取網(wǎng)頁
url = 'http://www.example.com'
response = requests.get(url)
html = response.text
# 解析 HTML
soup = BeautifulSoup(html, 'html.parser')
data = soup.find_all('a')
# 將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫
cursor = db.cursor()
for item in data:
title = item.string
url = item.get('href')
sql = f"INSERT INTO mytable (title, url) VALUES ('{title}', '{url}')"
cursor.execute(sql)
db.commit()
# 關(guān)閉數(shù)據(jù)庫連接
db.close()注意,這里示例代碼僅為演示使用,并未對 SQL 注入攻擊進(jìn)行防范,請勿直接在生產(chǎn)環(huán)境中使用。同時,您也需要根據(jù)實(shí)際情況修改表名、字段名和 SQL 語句等內(nèi)容。
這只是單純的思路,僅供參考。
到此這篇關(guān)于使用python實(shí)現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)python 爬取網(wǎng)頁數(shù)據(jù)導(dǎo)入MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python通用函數(shù)實(shí)現(xiàn)數(shù)組計算的方法
數(shù)組的運(yùn)算可以進(jìn)行加減乘除,同時也可以將這些算數(shù)運(yùn)算符進(jìn)行任意的組合已達(dá)到效果。這篇文章主要介紹了Python通用函數(shù)實(shí)現(xiàn)數(shù)組計算的代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2019-06-06
python從ftp下載數(shù)據(jù)保存實(shí)例
這篇文章主要介紹了python從ftp下載數(shù)據(jù)到本地保存的實(shí)例代碼方法,大家參考使用吧2013-11-11
Python使用pymysql模塊操作mysql增刪改查實(shí)例分析
這篇文章主要介紹了Python使用pymsql模塊操作mysql增刪改查,結(jié)合實(shí)例形式分析了Python使用pymsql模塊針對mysql進(jìn)行增刪改查操作的相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-12-12
Python實(shí)現(xiàn)Mysql全量數(shù)據(jù)同步的腳本分享
這篇文章主要為大家詳細(xì)介紹了基于Python如何實(shí)現(xiàn)Mysql全量數(shù)據(jù)同步的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-06-06
python神經(jīng)網(wǎng)絡(luò)編程實(shí)現(xiàn)手寫數(shù)字識別
這篇文章主要為大家詳細(xì)介紹了python神經(jīng)網(wǎng)絡(luò)編程實(shí)現(xiàn)手寫數(shù)字識別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05
Python實(shí)戰(zhàn)購物車項(xiàng)目的實(shí)現(xiàn)參考
今天小編就為大家分享一篇關(guān)于Python實(shí)戰(zhàn)購物車項(xiàng)目的實(shí)現(xiàn)參考,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02
python3實(shí)現(xiàn)猜數(shù)字游戲
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06
在Pycharm中項(xiàng)目解釋器與環(huán)境變量的設(shè)置方法
今天小編就為大家分享一篇在Pycharm中項(xiàng)目解釋器與環(huán)境變量的設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

