import requests
headers ={'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'}
code ={'0xE1D0':'8','0xE325':'2','0xE41D':'3','0xe52e':'4','0xe630':'5','0xe76e':'7','0xe891':'1','0xe9ce':'0','0xeaf2':'9','0xec4c':'6'}
new_code =dict((f'&#{eval(x)}', code[x])for x in code)# print(new_code)
url ='https://mapi.guazi.com/car-source/carList/pcList?osv=IOS&minor=&sourceType=&ec_buy_car_list_ab=&location_city=&district_id=&tag=-1&license_date=&auto_type=&driving_type=&gearbox=&road_haul=&air_displacement=&emission=&car_color=&guobie=&bright_spot_config=&seat=&fuel_type=&order=&priceRange=0,-1&tag_types=&diff_city=&intention_options=&initialPriceRange=&monthlyPriceRange=&transfer_num=&car_year=&carid_qigangshu=&carid_jinqixingshi=&cheliangjibie=&page=1&pageSize=20&city_filter=12&city=12&guazi_city=12&qpres=&platfromSource=wap&versionId=0.0.0.0&sourceFrom=wap&deviceId=d9217098-1286-47a7-af41-d0e4644a52f8'
response = requests.get(url, headers=headers)
result = response.json()for x in result['data']['postList']:
first_pay = x['first_pay'].split(';')
new_first_pay =[]for i in first_pay:if i in new_code:
new_first_pay.append(new_code[i])elif i[1:]in new_code:
new_first_pay.append('.'+ new_code[i[1:]])else:
new_first_pay.append(i)
first_pay =''.join(new_first_pay)print(first_pay)
2、认识多线程和多进程
01、什么是进程 - 一个正在运行的应用程序就是一个进程
进程是系统分配内容的最小单位。
每个进程均运行在其专门且受保护的内存空间中,当进程结束的时候,这个进程对应的内存空间会自动释放。
02、线程
线程是进程执行任务的基本单元。
进程中的任务都在线程中执行的(如果一个进程中没有线程,那么这个进程对应的程序什么事情都做不了)。
进程 - 车间(工厂), 提供厂房以及厂房中保存资源
线程 - 车间工人
默认情况下,一个进程中有一个线程。
03、多线程 - 一个进程中有多个线程
单线程特点:一个线程执行多个任务,只能串行(一个一个按顺序)执行。
多线程特点:多个线程执行多个任务,可以并行(同时)执行。
单线程 - 一个工厂中只有一个工人
多线程 - 一个工厂中同时有多个工人,多线程的存在可以提高程序的效率。
手机应用程序:3 ~ 5线程
电脑应用程序:200 ~ 300个
04、多线程的原理
一个cpu同一时间只能处理一个线程,同一时间只有一个线程可以工作。
多线程的原理: 多线程技术其实就是利用CPU空闲时间做其他事情。
3、使用多线程
import time
from datetime import datetime
from threading import Thread, current_thread