Python脚本自动发送post请求删除网站数据

2022-07-09  本文已影响0人  不懂球的2大业

1.需求

2.实现步骤

step1:抓包分析删除请求

step2:爬取数据库

step3:思路分析

1.爬取系统数据库并保存至本地
2.利用爬取的数据库,构建<身份证,fpid>对应哈希表id_fpid_map
3.读取需要删除人员的身份证信息,并通过id_fpid_map获取对应的“fpid”字段
4.根据fpid字段发送post请求完成删除操作

3.实现代码

from email import header
from urllib import response
import requests
import json

post_url = "POST请求对应的url(出于信息保护不放入具体网址)"


data = {
    "getStr":"CE01eWFybqtkFmNKFD4zeXJlsDBecepuDVDEe0JqLnEmF0zuDV4BGXWaxWNOLVc0eZBuKUSkNXfVGpcjLFScLzDEKnzeDhWuyis4eWtlKDkBwUJIDXdEIX4awiN5DmpjFFxzeXJlsDBVKhWvsGC4egplsDBXwlzvDUj4AppIMHWFKqNxDFSfPFFCJVzcGqEIFVEYDncaAizcGqEIFVEYDncaGDzbPrR-",
    "keyWord":"0",
    "pageSize": "99999"
}


data = json.dumps(data)

header = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0",
    "Accept":"application/json, text/plain, */*",
    "Accept-Language":"zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
    "Connection":"keep-alive",
    "Accept-Encoding":"gzip, deflate",
    "Content-Type": "application/json;charset=utf-8",
    "Content-Length": "270",
    "Origin": "(出于信息保护不放入具体网址)",
    "Connection": "keep-alive",
    "Referer": "(出于信息保护不放入具体网址)"
}

response = requests.post(post_url,data=data,headers=header)

print(response.status_code)

result = response.content.decode()

print(result)

with open("result.txt", "w", encoding='utf-8-sig') as f:
    f.write(result)  



from email import header
from unittest import result
from urllib import response
import requests
import json

database = None

with open("result.txt", "r", encoding='utf-8-sig') as f:  #打开文本
    data = f.read()   #读取文本
    print(type(data))
    database = data

print(type(database))

database = json.loads(database)

persons = database["s"]

name_fpid = {}
idc_fpid = {}

for i in range(len(persons)):
    name = persons[i]["person"]["name"]
    idc = persons[i]["person"]["idc"]
    fpid = persons[i]["person_From"]["fpid"]

    name_fpid[name] = fpid
    idc_fpid[idc] = fpid


idc_lst = []

with open('idc_delete.txt', 'r', encoding='utf-8') as f:
    for item in f.readlines():
        item = item.strip("\n")
        idc_lst.append(item)

post_url = "(出于信息保护不放入具体网址)"


header = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0",
    "Accept":"application/json, text/plain, */*",
    "Accept-Language":"zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
    "Connection":"keep-alive",
    "Accept-Encoding":"gzip, deflate",
    "Content-Type": "application/json;charset=utf-8",
    "Content-Length": "251",
    "Origin": "(出于信息保护不放入具体网址)",
    "Connection": "keep-alive",
    "Referer": "(出于信息保护不放入具体网址)"
}

fpid_lst = []

for item in idc_lst:
    if item != "":
        # print(item)
        if item in idc_fpid:
            fpid_lst.append(idc_fpid[item])


for fpid in fpid_lst:
    del_data = {}
    del_data["getStr"] = "CE01eWFybqtkFmNKFD4zeXJlsDBecepuDVDEe0JqLnEmF0zuDV4BGXWaxWNOLVc0eZBuKUSkNXfVGpcjLFScLzDEKnzeDhWuyis4eWtlKDkBwUJIDXdEIX4awiN5DmpjFFxzeXJlsDBVKhWvsGC4ApplvDBXwlpvJUjSeWWIMHWFKqNxDFSfPFFCJVzcGqEIFVEYDncaAizcGqEIFVEYDncaGDzbPrR-"
    del_data["id"] = fpid
    del_data = json.dumps(del_data)

    response = requests.post(post_url,data=del_data,headers=header)

    print(response.status_code)

    result = response.content.decode()
    print(result)

上一篇 下一篇

猜你喜欢

热点阅读