鱼C论坛

 找回密码
 立即注册
查看: 2443|回复: 6

网页数据爬取问题

[复制链接]
发表于 2021-1-9 21:40:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 三一王 于 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在哪里,如何修改啊

另外,这个网站登录验证的时候用的是request payload,而且还不是常见的json格式。想要从头模拟下登录也不行

2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-9 23:19:14 | 显示全部楼层
这个网站需要先登陆的,你都没有登陆,怎么访问别人的数据啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-10 08:51:34 | 显示全部楼层
°蓝鲤歌蓝 发表于 2021-1-9 23:19
这个网站需要先登陆的,你都没有登陆,怎么访问别人的数据啊。
response = requests.post(url,headers = headers,data = data,auth=('******', '******'))

我在post的时候加上了用户名和密码的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-10 09:32:30 | 显示全部楼层
需要用浏览器跟踪一下登陆过程,方便提供一套账号和密码吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-10 11:08:55 | 显示全部楼层
三一王 发表于 2021-1-10 08:51
我在post的时候加上了用户名和密码的。

那你 post  要先携带账户密码 访问 登陆网址,才有权限访问该网站的其他网址。
你这个 url 都不是 登陆网址, 你直接携带 账户名和密码 去访问,哪有这样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-11 22:27:56 | 显示全部楼层
本帖最后由 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的表单提交
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-12 18:49:43 From FishC Mobile | 显示全部楼层
json={}里面是密码用户名键值对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 18:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表