1. 程式人生 > >【Python】抓取淘寶數據庫月報,發送郵件,本地存檔,保存元信息

【Python】抓取淘寶數據庫月報,發送郵件,本地存檔,保存元信息

epo 平臺 如果 更改 config 查詢 color into all

用途
  • 定期抓取淘寶數據庫月報
  • 發送郵件,保存到本地,最好是git中
  • 發送元數據到mysql中,後期可以做成接口集成到運維平臺中,便於查詢

使用方式

# 下載(必須)
cd ~ && git clone https://github.com/naughtyGitCat/spider_taobao_mysql.git

# 修改配置(必須)
vim config.py

# 安裝crontab(可選)
"0 10 8 * * source ~/.bashrc && python3 ~/spider_taobao_mysql/main.py" 

# 安裝依賴
pip3 install logbook
pip3 install html2text
pip3 install pymysql
pip3 install requests_html

# 創建元信息庫表(可選)
mysql -d mysql -u root -p < taobao_monthly_report.sql 

# 執行程序
python3 main.py

完成情況:

  • 定期抓取用crontab來做,不放到本腳本中
  • 發送郵件,保存到本地(html)皆完成
  • 保存元數據

問題

  • 為什麽郵件正文只有前言部分?因為郵件有反垃圾措施,全文容易被屏蔽
  • 為什麽收件人只有一個?因為郵件有反垃圾措施,多人容易被屏蔽,可以發送到同一個郵箱中,然後自動轉發
  • 可以也可以保存md格式到本地,但是我的md編輯器好像加載不了圖片,就是用了html的格式本地保存
  • 本地保存以及發送html時都損失了樣式,不太美觀,但我在郵件正文中增加了原文鏈接。
  • 文章中的圖片沒有本地化,理論上是有圖片失效的問題的。但考慮到各位都有閱讀後及時總結整理的好習慣,也就無所謂了。

註意

  • 一個月運行一次就夠了,可以放到crontab中每月執行一次,自動抓取上個月的文章內容
  • 阿裏的頁面是到下個月後一次性放出上個月所有的文章,總數目前看基本是10篇,
  • 如果發現其一次放出了>10篇的文章,請聯系我進行更改

依賴包

  • logbook 日誌
  • html2text 格式轉換為md
  • pymysql 上傳元數據
  • requests_html 抓取網頁的正文

TODO:

  • 緩存本地圖片
  • 把insert into 改成replace into

技術分享圖片

【Python】抓取淘寶數據庫月報,發送郵件,本地存檔,保存元信息