'''
将 main 中的{url}改为真 url
将 setd_data中 {姓名} {纬度} {经度} {地址} 改为确切数据
数据自行参考post
结果判断基于响应中是否包含“谢谢参与”字样
'''
import requests
import re
import time
import random
import datetime class JinShuJv:
def __init__(self,url):
self.url = url
self.post_url = url
self.header = None
self.cookie = None
self.data = None def set_header(self):
"""
随机生成ip,设置X-Forwarded-For
:return:
"""
ip = '{}.{}.{}.{}'.format(112, random.randint(64, 68), random.randint(0, 255), random.randint(0, 255))
self.header = {
'Host': 'jinshuju.net',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0',
'Referer': self.url,
'Origin': 'https://jinshuju.net',
'X-Forwarded-For': ip
} def get_response(self):
"""
访问问卷网页,获取网页代码
:return: get请求返回的response
"""
response = requests.get(url=self.url, headers=self.header)
self.cookie = response.cookies
return response def get_authenticity_token(self,response):
authenticity_token=re.search(r'(?<=name="csrf-token" content=")\S+(==>?)',response.text)
return authenticity_token.group() def set_data(self):
response = self.get_response()
authenticity_token = self.get_authenticity_token(response)
now=str(datetime.date.today())
def temperature():
high=round(random.uniform(36.5,37.0),1)
low=round(high-round(random.uniform(0.3,0.5),1),1)
high=str(high)
low=str(low)
return [high,low] data={ }
data.update({"utf8":"✓"})
data.update({"authenticity_token":authenticity_token})
data.update({"entry[field_6]":now})
data.update({"entry[field_20]":"班级码"})
data.update({"entry[field_11]":"{姓名}"})
data.update({"entry[field_14]":temperature()[0]})
data.update({"entry[field_40]":temperature()[1]})
data.update({"entry[field_33]":"q348"})
data.update({"entry[field_37]":"q348"})
data.update({"entry[field_21]":temperature()[0]+'/'+temperature()[1]+','+temperature()[0]+'/'+temperature()[1]+','+temperature()[0]+'/'+temperature()[1]+','+temperature()[0]+'/'+temperature()[1]})
data.update({"entry[field_38]":"q348"})
data.update({"entry[field_35]":"q348"})
data.update({"entry[field_18][latitude]":"{纬度}"})
data.update({"entry[field_18][longitude]":"{经度}"})
data.update({"entry[field_18][address]":"{地址}"})
data.update({"entry[field_36]":"q348"})
data.update({"entry[field_34]":"无"})
data.update({"entry[field_39]":""})
data.update({"embedded":""})
data.update({"banner":""})
data.update({"header":""})
data.update({"background":""})
data.update({"background_image":""})
data.update({"form_margin":""})
data.update({"code":""})
data.update({"submit_link_generated_from":""})
self.data=data def post_data(self):
"""
发送数据给服务器
:return: 服务器返回的结果
"""
self.set_data()
response = requests.post(url=self.post_url, data=self.data, headers=self.header, cookies=self.cookie)
return response def run(self):
self.set_header()
result = self.post_data()
# print(result.content.decode())
if "谢谢参与" in result.content.decode():
print("success")
else:
print("fail") if __name__ == "__main__":
j=JinShuJv({url})
j.run()

参考:

https://www.jianshu.com/p/34961ceedcb4

python填写金数据的更多相关文章

  1. python 读取excel数据并将测试结果填入Excel

    python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...

  2. 使用Python解析JSON数据的基本方法

    这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下:     ----------------------------------- ...

  3. python matplotlib plot 数据中的中文无法正常显示的解决办法

    转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...

  4. C#调用金数据API

    首先,吐槽一下金数据的API文档 http://help.jinshuju.net/articles/api-intro.html写的很粗糙啊...反正我是没太看明白 拿表单api举例,只告诉你了个地 ...

  5. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  6. Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

  7. 为什么说Python 是大数据全栈式开发语言

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...

  8. 用Python浅析股票数据

    用Python浅析股票数据 本文将使用Python来可视化股票数据,比如绘制K线图,并且探究各项指标的含义和关系,最后使用移动平均线方法初探投资策略. 数据导入 这里将股票数据存储在stockData ...

  9. Python读取JSON数据,并解决字符集不匹配问题

    今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子. – 思路如下 从一个返回JSON天气数据的网站获取到目标JSON数据串 使用Python解析出需要的部分 写入到本地文件,供其 ...

随机推荐

  1. ABP实践(4)-abp前端vue框架之简单商品增删改查(帮助刚入门的新手快速了解怎么才能加入自己的功能并运行起来)

    提示:如有不明白的地方请先查看前3篇ABP实践系列的文章 1,下载及启动abp项目前后端分离(netcore+vue) 2,修改abp数据库为mysql 3,商品系列api接口(本文主要依赖在这个商品 ...

  2. 终极解决方案之——Centos7由于误删或更新python导致 No module named yum

    之前由于不懂yum和python之间的关系,因为一直在学python3,看到系统里/usr/lib下的python2我就直接删了,结果... 可能还有人是因为python升级的原因,即系统自带的pyt ...

  3. 大型Java进阶专题(五) 设计模式之单例模式与原型模式

    前言 ​ 今天开始我们专题的第四课了,最近公司项目忙,没时间写,今天抽空继续.上篇文章对工厂模式进行了详细的讲解,想必大家对设计模式合理运用的好处深有感触.本章节将介绍:单例模式与原型模式.本章节参考 ...

  4. DrQA 阅读维基百科来回答开放问题 Reading Wikipedia to Answer Open-Domain Questions

    DrQA 是一个阅读理解系统用在开放领域问答.特别的,DrQA 针对一个机器阅读任务.在这个列表里,我们为一个潜在非常大的预料库中搜索一个问题的答案.所以,这个系统必须结合文本检索和机器文本理解. 项 ...

  5. MNIST数据集介绍

    大多数示例使用手写数字的MNIST数据集[^1].该数据集包含60,000个用于训练的示例和10,000个用于测试的示例.这些数字已经过尺寸标准化并位于图像中心,图像是固定大小(28x28像素),其值 ...

  6. CISP-PTE学习记录-大纲(1)

    大纲内容记录 Linux操作系统安全 Windows操作系统安全 数据库安全 Web安全基础 HHTP协议 注入漏洞 XSS漏洞 请求伪造 文件处理漏洞 访问控制漏洞 会话管理漏洞 实战练习 中间件 ...

  7. [POJ1835]宇航员<模拟>

    链接:http://poj.org/problem?id=1835 题干太长我就不放描述了. 一道大模拟 看着就脑壳疼. 难点可能在于方向的确认上 要明确当前的头朝向和脸朝向,才能进行处理 一个小小坑 ...

  8. 一文读懂什么是CA证书

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...

  9. Python——matplotlib基础绘图函数示例

    1. 2.饼图 (1) import matplotlib.pyplot as plt labels='frogs','hogs','dogs','logs'% sizes=[15,30,45,10] ...

  10. C#是什么?

    C# 是一个现代的.通用的.面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和 ISO 核准认可的. C# 是由 Anders Hejlsberg 和他的团队在 .Net 框 ...