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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
python操作mongodb根据_id查询数据的实现方法
May 20 Python
python解析xml文件实例分析
May 27 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
Python实现识别图片内容的方法分析
Jul 11 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
Python元组常见操作示例
Feb 19 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
python如何实现递归转非递归
Feb 25 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 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
国内咖啡文化
2021/03/03 咖啡文化
简单的PHP多图上传小程序代码
2011/07/17 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
Python是什么 Python的用处
2020/05/26 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
SQL注入攻击的种类有哪些
2013/12/30 面试题
班级学习计划书
2014/04/27 职场文书
啤酒节策划方案
2014/05/28 职场文书
党员评议个人总结
2014/10/20 职场文书
暑期工社会实践报告
2015/07/13 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
深度学习tensorflow基础mnist
2021/04/14 Python