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 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
python分割文件的常用方法
Nov 01 Python
python中argparse模块用法实例详解
Jun 03 Python
Python导出DBF文件到Excel的方法
Jul 25 Python
Python列表删除的三种方法代码分享
Oct 31 Python
Python 元类实例解析
Apr 04 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
PageFactory设计模式基于python实现
Apr 14 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
Dec 17 Python
基于Python实现流星雨效果的绘制
Mar 18 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
BBS(php & mysql)完整版(三)
2006/10/09 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
关于php fread()使用技巧
2010/01/22 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
javascript实现轮显新闻标题链接
2007/08/13 Javascript
js form action动态修改方法
2008/11/04 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
医药代表个人的求职信分享
2013/12/08 职场文书
同学会主持词
2014/03/18 职场文书
硕士生找工作求职信
2014/07/05 职场文书
开发房地产协议书
2014/09/14 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2015年企业新年寄语
2014/12/08 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python