网页数据爬取问题
本帖最后由 三一王 于 2021-1-10 09:35 编辑源代码如下:
import urllib.parse
import requests
def url_open(url):
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'}
url_1 = {"event_name": "submitUser", "unit": "day", "from_date": "2021-01-02", "to_date": "2021-01-08",
"measure_type": "times", "rangeText": "过去 7 天", "sampling_factor": "64", "filter": {
"conditions": [{"field": "event.submitUser.OperationType", "function": "equal", "params": ["注册"]},
{"field": "event.submitUser.status", "function": "equal", "params": ["成功", "true"]}],
"relation": "and"}, "bookmarkid": "392", "slice_by_value": "2021-01-07", "slice_freq": "1",
"slice_max_freq": "", "detail": "true", "tracker_type": "分布分析", "num_per_page": 50, "limit": 1000,
"page": 0, "all_page": 'false',
"profiles": ["user.userId", "user.enterpriseName", "user.enterpriseIdentifier"],
"sort_by_field": "first_id", "asc": 'true', "use_cache": 'false'}
data = dict(url_1)
data = urllib.parse.urlencode(data).encode('utf-8')
response = requests.post(url,headers = headers,data = data,auth=('******', '******'))
html = response.text
return html
url = 'https://sensors-web.vandream.com/api/addictions/user/list'
print(url_open(url))
报错如下:
{"error":"没有访问权限,请检查 project 和 token"}
请问project和token在哪里,如何修改啊{:5_94:}
另外,这个网站登录验证的时候用的是request payload,而且还不是常见的json格式。想要从头模拟下登录也不行
这个网站需要先登陆的,你都没有登陆,怎么访问别人的数据啊。 °蓝鲤歌蓝 发表于 2021-1-9 23:19
这个网站需要先登陆的,你都没有登陆,怎么访问别人的数据啊。
response = requests.post(url,headers = headers,data = data,auth=('******', '******'))
我在post的时候加上了用户名和密码的。 需要用浏览器跟踪一下登陆过程,方便提供一套账号和密码吗? 三一王 发表于 2021-1-10 08:51
我在post的时候加上了用户名和密码的。
那你 post要先携带账户密码 访问 登陆网址,才有权限访问该网站的其他网址。
你这个 url 都不是 登陆网址, 你直接携带 账户名和密码 去访问,哪有这样的。 本帖最后由 Stubborn 于 2021-1-11 22:32 编辑
import json
import request
data = dict()
response = requests.post(url=url, data=json.dumps(data), headers=headers)
如果不行,请检查提交的数据是否是加密的,寻找加密的js函数
参考链接 POST中如何使用Requests Payload的表单提交 json={}里面是密码用户名键值对
页:
[1]