斷斷續續地在網路和書籍上學習有關 Python 的爬蟲技術,但隨著反爬蟲的技術也是越來越精進,所以想說藉由 「超新手也能用 Python 爬蟲打造貨比千家的比價網站」這門課來看看能否解決相關的疑惑。這篇筆記下如何將爬取下來的資料,存到 MySQL 資料庫。
課程相關資訊
[連結]:https://hiskio.com/courses/527/lectures/30378
本篇範圍:Chapter 4 ( 資料很髒很亂怎麼辦?資料清理與資料整併 )
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
程式碼
1. 當使用虛擬環境安裝 sqlalchemy 套件,會需要額外安裝 mysql-connector, mysql, mysqlclient 三個套件
2. 不過,mysqlclient 這個套件若要安裝額外的 VIsual Studio C++ 編譯套件,又顯得太過龐大。因此,可以改由此處下載 對應的 cp 版本。 ( cp310 表示 Python 3.10 )
3. 若你是安裝 MySQL 8.0 以上版本,由於預設使用者的登入模組做了變更,需要先行調整一下。你可以在 Workbench 中執行以下指令:
1 2 3 |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你預設的密碼'; FLUSH PRIVILEGES; SELECT user,authentication_string,plugin,host FROM mysql.user; |
4. 在 Workbench 中新增好名為 sample 的 DB 後,確認連線網址格式為:
mysql+mysqlconnector://root:你預設的密碼@127.0.0.1:3306/sample?auth_plugin=mysql_native_password
參考資料
1. ImportError: No module named ‘MySQL’
2. [1024]python sqlalchemy中create_engine用法
3. 使用pip install mysqlclient命令安装mysqlclient失败?
4. MySQL 8.0 配置mysql_native_password身份验证插件的密码