Python下载商品数据并连接数据库且保存数据


Posted in Python onMarch 31, 2022

前言:

开发环境:

  • python 3.8
  • pycharm 2021.2 专业版

代码实现:

  • 发送请求
  • 获取数据
  • 解析数据(筛选数据)
  • 保存数据
  • 连接数据库

请求数据

# 伪装
headers = {
    'cookie': 'miid=4137864361077413341; tracknick=%5Cu5218%5Cu6587%5Cu9F9978083283; thw=cn; hng=CN%7Czh-CN%7CCNY%7C156; cna=MNI4GicXYTQCAa8APqlAWWiS; enc=%2FWC5TlhZCGfEq7Zm4Y7wyNToESfZVxhucOmHkanuKyUkH1YNHBFXacrDRNdCFeeY9y5ztSufV535NI0AkjeX4g%3D%3D; t=ad15767ffa6febb4d2a8709edebf63d3; lgc=%5Cu5218%5Cu6587%5Cu9F9978083283; sgcookie=E100EcWpAN49d4Uc3MkldEc205AxRTa81RfV4IC8X8yOM08mjVtdhtulkYwYybKSRnCaLHGsk1mJ6lMa1TO3vTFmr7MTW3mHm92jAsN%2BOA528auARfjf2rnOV%2Bx25dm%2BYC6l; uc3=nk2=ogczBg70hCZ6AbZiWjM%3D&vt3=F8dCvCogB1%2F5Sh1kqHY%3D&lg2=Vq8l%2BKCLz3%2F65A%3D%3D&id2=UNGWOjVj4Vjzwg%3D%3D; uc4=nk4=0%40oAWoex2a2MA2%2F2I%2FjFnivZpTtTp%2F2YKSTg%3D%3D&id4=0%40UgbuMZOge7ar3lxd0xayM%2BsqyxOW; _cc_=W5iHLLyFfA%3D%3D; _m_h5_tk=ac589fc01c86be5353b640607e791528_1647451667088; _m_h5_tk_enc=7d452e4e140345814d5748c3e31fc355; xlly_s=1; x5sec=7b227365617263686170703b32223a223264393234316334363365353038663531353163633366363036346635356431434c61583635454745506163324f2f6b2b2b4b6166686f4d4d7a45774e7a4d794d6a59324e4473784d4b6546677037382f2f2f2f2f77453d227d; JSESSIONID=1F7E942AC30122D1C7DBA22C429521B9; tfstk=cKKGBRTY1F71aDbHPcs6LYjFVa0dZV2F6iSeY3hEAYkCuZxFizaUz1sbK1hS_r1..; l=eBEVp-O4gnqzSzLbBOfwnurza77OIIRAguPzaNbMiOCPO75p5zbNW60wl4L9CnGVhsTMR3lRBzU9BeYBqo44n5U62j-la1Hmn; isg=BDw8SnVxcvXZcEU4ugf-vTadDdruNeBfG0WXdBa9WicK4dxrPkd97hHTxQmZqRi3',
    'referer': 'https://s.taobao.com/search?q=%E4%B8%9D%E8%A2%9C&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20220323&ie=utf8&bcoffset=1&ntoffset=1&p4ppushleft=2%2C48&s=',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36',
}

url = f'https://s.TB.com/search?q=%E4%B8%9D%E8%A2%9C&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20220323&ie=utf8&bcoffset=1&ntoffset=1&p4ppushleft=2%2C48&s={44*page}'

response = requests.get(url=url, headers=headers)

获取数据

html_data = response.text

解析数据(筛选数据)

json_str = re.findall('g_page_config = (.*);', html_data)[0]
# 字符串 肯定不能用 字典方式键值对取值
# json_str: 字符串
# 类型转变: 转成字典类型 才能通过键值对方式去取值
json_dict = json.loads(json_str)
auctions = json_dict['mods']['itemlist']['data']['auctions']
for auction in auctions:
    raw_title = auction['raw_title']
    pic_url = auction['pic_url']
    detail_url = auction['detail_url']
    view_price = auction['view_price']
    item_loc = auction['item_loc']
    view_sales = auction['view_sales']
    nick = auction['nick']
    print(raw_title, pic_url, detail_url, view_price, item_loc, view_sales, nick)

保存数据

with open('TB.csv', mode='a', encoding='utf-8', newline='') as f:
    csv_writer =csv.writer(f)
    csv_writer.writerow([raw_title, pic_url, detail_url, view_price, item_loc, view_sales, nick])

Python下载商品数据并连接数据库且保存数据

连接数据库

import pymysql

def save_sql(title, pic_url, detail_url, view_price, item_loc, view_sales, nick):
    count = pymysql.connect(
        host='xxx.xxx.xxx.xxx',  # 数据库地址
        port=3306,  # 数据库端口
        user='xxxx',  # 数据库账号
        password='xxxx',  # 数据库密码
        db='xxxx'  # 数据库表名
    )
    # 创建数据库对象
    db = count.cursor()
    # 写入sql
    sql = f"insert into goods(title, pic_url, detail_url, view_price, item_loc, view_sales, nick) values ('{title}', '{pic_url}', '{detail_url}', {view_price}, '{item_loc}', '{view_sales}', '{nick}')"
    # 执行sql
    db.execute(sql)
    # 保存修改内容
    count.commit()
    db.close()

到此这篇关于Python下载商品数据并连接数据库且保存数据的文章就介绍到这了,更多相关Python下载并连接数保存数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python最基本的数据类型以及对元组的介绍
Apr 14 Python
python文本数据相似度的度量
Mar 12 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
详解python中的线程与线程池
May 10 Python
Python语言进阶知识点总结
May 28 Python
python django框架中使用FastDFS分布式文件系统的安装方法
Jun 10 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
Oct 09 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
Python pip安装模块提示错误解决方案
May 22 Python
python和php学习哪个更有发展
Jun 17 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Python turtle编写简单的球类小游戏
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 #Python
Pandas数据结构之Series的使用
Mar 31 #Python
python获取字符串中的email
Mar 31 #Python
Python利用FlashText算法实现替换字符串
详解Python flask的前后端交互
Mar 31 #Python
ubuntu安装jupyter并设置远程访问的实现
You might like
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python计算一个序列的平均值的方法
2015/07/11 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
党员年终民主评议的自我评价
2013/11/05 职场文书
生产主管岗位职责
2013/11/10 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
关于开学的感想
2015/08/10 职场文书
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技