首页 > 编程语言 >python爬虫——嘉兴水果指数获取

python爬虫——嘉兴水果指数获取

时间:2023-05-03 16:55:15浏览次数:32  
标签:orderBy ids get python 嘉兴 爬虫 dic content url

1.抓包参数分析

 

我们可以看出,stageId参数随着时间的变化而变化,pageNo随着页数的增加+1,其他参数不变

2.代码部分

import requests
import re
def orderBy_get():
        url = 'http://jxzgsgzs.com/js/price.js?v=1.7.2'
        header ={
                'User-Agent': ''
        }
        response = requests.get(url=url,headers=header).text
        # print(response_list)
        ex = "var ORDERBY = '(.*?)';"
        orderBy = re.findall(ex,response)[0]
        return orderBy
def ids_get():
        url = 'http://jxzgsgzs.com/jia-xing-fruit-webapi/stage?reportCycle=10&rawDataIsPublish=true&pageSize=1&orderBy=-reportTimeStart'
        header = {
        'User-Agent': ''  }

        json_list = requests.get(url=url,headers=header).json()
        for dic in json_list['data']:
                ids = dic['id']
                reportTimeEnd = dic['reportTimeEnd']
                return ids,reportTimeEnd

  

import requests
import json
import time
from test import ids_get,orderBy_get
ids,reportTimeEnd= ids_get()
orderBy = orderBy_get()

for datadd in range(1,29):
    print('数据爬取第{}页'.format(datadd))
    url = 'http://jxzgsgzs.com/jia-xing-fruit-webapi/rawDataExpansion?'
    headers = {
        "User-Agent": ""
    }
    data = {
        'stageId': ids,
        'orderBy': orderBy,
        'parentStructId': 1,
        'pageNo': datadd
    }
    json_ids = requests.get(url=url, headers=headers, params=data).json()
    time.sleep(5)
    for dic in json_ids['data']:
         content_list = []
         content = {}
         content['category'] = dic['category']
         content['city'] = dic['city']
         content['id'] = str(dic['id'])
         content['kind'] = dic['kind']
         content['placeOfOrigin'] = dic['placeOfOrigin']
         content['price'] = str(dic['price'])
         content['specification'] = dic['specification']
         content['totalSalesVolume'] = str(dic['totalSalesVolume'])  #总销售额
         content['totalTurnover'] = str(dic['totalTurnover'])  #总经营额
         content['data'] = str(reportTimeEnd)

         content_list.append(content)
         print(content_list)

         with open('嘉兴水果数据.csv','a', encoding='utf-8') as f:
             for content in content_list:
                 f.write(content['category'] + ',' + content['city']+ ','+ content['id'] + ',' + content['kind'] + ','+ content['placeOfOrigin'] + ',' + content['price'] + ','+ content['specification'] + ','+ content['totalSalesVolume'] + ','+ content['totalTurnover'] + ','+ content['data']+ '\n')

3.数据展示

 

 

标签:orderBy,ids,get,python,嘉兴,爬虫,dic,content,url
From: https://www.cnblogs.com/icekele/p/17369285.html

相关文章

  • gdb---结合python自动化调试
    gdb---结合python自动化调试gdb支持通过python自动化调试,实现循环、读写内存、保存内容等复杂逻辑,不需要安装模块。核心函数:gdb.execute(command[,from_tty[,to_string]])脚本示例test.py:importgdbgdb.execute("break*0x12345678")gdb.execute("continue")#指定......
  • Python中从控制台程序获取输入
    1. Python中的控制台程序是什么? 控制台(也称为shell)基本上是一个命令行解释器,它从用户那里获取输入,即一次一个命令并解释它。如果它没有给出错误,那么它会运行命令并给出请求的结果,否则它会显示错误消息。Python中的控制台程序应该是这样的这里我们编写命令,只需按回车键即可......
  • 如何在 Python 中不换行打印?
    一般来说,从C/C++切换到Python的人想知道如何打印两个或多个变量或语句而不切换到python中的换行符。因为pythonprint()函数默认以换行符结尾。如果你使用print(a_variable)Python有一个预定义的格式,它会自动转到下一行。例如:print("cafedev")print("cafedevscafedev"......
  • Python中从控制台程序获取输入
    1. Python中的控制台程序是什么? 控制台(也称为shell)基本上是一个命令行解释器,它从用户那里获取输入,即一次一个命令并解释它。如果它没有给出错误,那么它会运行命令并给出请求的结果,否则它会显示错误消息。Python中的控制台程序应该是这样的这里我们编写命令,只需按回车键即可......
  • 如何在 Python 中不换行打印?
    一般来说,从C/C++切换到Python的人想知道如何打印两个或多个变量或语句而不切换到python中的换行符。因为pythonprint()函数默认以换行符结尾。如果你使用print(a_variable)Python有一个预定义的格式,它会自动转到下一行。例如:print("cafedev")print("cafedevscafedev"......
  • Python 中的字符串、列表和元组
    字符串、列表和元组String、  List 和 Tuple 是Python中3种不同的数据类型,但它们都属于 Sequence数据类型。序列数据类型序列(发音为/x.co-u-en.xì/)是一种数据类型,由其中的一组(或集合)元素(成员)组成。sequence_type_1=("one","two","three","four","five","si......
  • Python 中的运算符
    什么是运营商?在编程中,运算符是用于执行数字或逻辑运算的字符。Python支持许多不同类型的运算符。在本课中,我们将学习以下常用运算符:算术运算符比较运算符赋值运算符(用于变量)逻辑运算符成员资格测试运算符(检查给定值内是否存在值)算术运算符Python支持所有用于执行加法......
  • Python语法
    什么是语法?回忆一下我们上节课写的程序代码:print("HelloWorld!")在计算机上运行命令行时(或者具体来说,PythonInterperter)如何理解应该显示的文本 HelloWorld!?Python语言(或任何其他编程语言)规定了程序员需要遵循的编写代码的规则。而PythonInterperter程序在执行时,也会根......
  • 直播商城源码,利用Python将图片批量改成任意格式
    直播商城源码,利用Python将图片批量改成任意格式 importglobimportosimportthreadingfromPILimportImagedefcreate_image(infile,index):  os.path.splitext(infile)  im=Image.open(infile)  im.save("F:/PL/Cigarettes/total/good/"+str(index)+".j......
  • 第 2 课:在 python 中声明变量
    上一篇文章给大家介绍了python语言,这里再重复一遍,这个系列我讲的是python 3 ,这篇文章我们一起去学习如何利用其中的变量声明和数据类型Python。目录1、在Python中声明变量。2、Python中的数据类型。3、检查数据类型。4、Python中的数据类型转换。5、结论。1、在Python......