Python案例篇:迟来的520礼物采集,没准明年就能用上了

简介: Python案例篇:迟来的520礼物采集,没准明年就能用上了

不过对于辣条这么有情商的人是完全不可能犯这样的错误的,这时候我又掏出了我的杀手锏,直接采集数据分析,大数据会给我答案~
目录
前言
工具准备
效果展示
项目思路解析
简易源码分享

工具准备
开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:requests, csv, re

效果展示

项目思路解析
首先对当前的网页进行分析,明确我们需要采集哪些数据信息,既然是520的节日礼物那我们肯定会关心它的标题,销量,地址,展示图片,店铺名,先对它的页面进行分析看看他的数据是动态还是静态数据,在浏览器页面鼠标右击点击查看网页源代码,看看是否存在我们想要的数据信息

可以看到我们想要的数据在源代码里,数据为静态数据,我们直接请求当前的网址就行,发送网请求之后需要进行数据的筛选筛选数据的方法有很多,可以使用xpath,也可以使用正则,我们今天用正则的方式提取数据信息,将获取到的数据进行筛选,获取到我们想要的数据信息,正则表达式会专门出一篇文章讲解,将我们的数据保存在csv的文件里

简易源码分享

import csv
import json
import random
import time

import requests
import re

headers = {

'referer': 'https://s.网址.com/',
'cookie': '',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36',

}

def save_data(data):

f = open('520女友礼物.csv', "a", newline="", encoding='utf-8')
csv_writer = csv.DictWriter(f, fieldnames=['标题', '价格', '购买人数', '地点', '网址', '图片地址', '评论数', '店铺'])
csv_writer.writerow(data)

def get_data(url):

response = requests.get(url, headers=headers)
print(response.text)
data = re.findall('"auctions":(.*?),"recommendAuctions', response.text)[0]
for info in json.loads(data):
    item = {}
    item['网址'] = info['detail_url']
    item['标题'] = info['raw_title']
    item['图片地址'] = info['pic_url']
    item['价格'] = info['view_price']
    item['地点'] = info['item_loc']
    item['购买人数'] = info.get('view_sales')
    item['评论数'] = info['comment_count']
    item['店铺'] = info['nick']
    print(item)
    save_data(item)


if name == '__main__':

key = "520女友礼物"
file = open('{}.csv'.format(key), "w", encoding="utf-8-sig", newline='')
csv_head = csv.writer(file)
# 表头
header = ['标题', '价格', '购买人数', '地点', '网址', '图片地址', '评论数', '店铺']
csv_head.writerow(header)

for i in range(1, 4):
    url = 'https://s.taobao.com/search?q={}&s={}'.format(key, str(i*44))
    get_data(url)
    time.sleep(5)
目录
相关文章
|
2月前
|
iOS开发 MacOS Python
Python 编程案例:谁没交论文?输出并生成电子表格
Python 编程案例:谁没交论文?输出并生成电子表格
|
2月前
|
数据采集 前端开发 NoSQL
Python编程异步爬虫实战案例
Python编程异步爬虫实战案例
|
2月前
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
|
2月前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
|
2月前
|
存储 大数据 Python
案例学Python:filter()函数的用法,高级!
`filter()`函数是Python中处理序列数据的强大工具,它允许我们高效地根据条件过滤元素。通过结合匿名函数、常规函数或直接利用Python的内置逻辑,`filter()`提供了灵活且高效的过滤机制,尤其在大数据处理和内存敏感的应用中展现出其价值。掌握 `filter()`的使用,不仅能提升代码的可读性和效率,还能更好地适应Python的函数式编程风格。
35 2
|
2月前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
|
2月前
|
文件存储 iOS开发 MacOS
Python编程案例:文件查找并归类
Python编程案例:文件查找并归类
|
2月前
|
Python
Python编程案例:同一工作簿不同表单特定数据添加到工作簿的另一表单里
Python编程案例:同一工作簿不同表单特定数据添加到工作簿的另一表单里
|
2月前
|
iOS开发 MacOS Python
Python编程案例:根据姓名归档论文、报告
Python编程案例:根据姓名归档论文、报告
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
跟着penguins案例学Seaborn之Pairplot
跟着penguins案例学Seaborn之Pairplot
91 1
下一篇
无影云桌面