热门IT资讯网

【Python】抓取淘宝数据库月报,发送邮件,本地存档,保存元信息

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,用途定期抓取淘宝数据库月报发送邮件,保存到本地,最好是git中发送元数据到mysql中,后期可以做成接口集成到运维平台中,便于查询使用方式# 下载(必须)cd ~ && git clone https

用途

  • 定期抓取淘宝数据库月报
  • 发送邮件,保存到本地,最好是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 logbookpip3 install html2textpip3 install pymysqlpip3 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

0