鱼C论坛

 找回密码
 立即注册
查看: 1720|回复: 5

[已解决]爬虫中request payload

[复制链接]
发表于 2020-9-3 10:19:57 | 显示全部楼层 |阅读模式

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

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

x
  1. import requests
  2. import json

  3. def get_comments(url):
  4.    headers = {
  5.     "accept": "*/*",
  6.     "accept-encoding": "gzip, deflate, br",
  7.     "accept-language": "zh-CN,zh;q=0.9",
  8.     "content-length": "278",
  9.     "content-type": "application/json",
  10.     "cookie":"_abtest_userid=0f540837-6c5a-4629-aa88-93ba1bfec570; _RSG=pHqDcQKOqkD92.7L6HsBL8; _RDG=28b4f4d49352f22e56153739a68cf82eae; _RGUID=dbb46146-a637-4473-854b-d911951fe089; MKT_CKID=1591713956511.w9k7w.9opk; _ga=GA1.2.1020029856.1591713957; _RF1=119.39.127.107; Session=smartlinkcode=U130709&smartlinklanguage=zh&SmartLinkKeyWord=&SmartLinkQuary=&SmartLinkHost=; Union=AllianceID=4901&SID=130709&OUID=&createtime=1599095310&Expires=1599700110468; MKT_CKID_LMT=1599095310492; MKT_Pagesource=PC; nfes_isSupportWebP=1; _jzqco=%7C%7C%7C%7C1599095310630%7C1.1301033936.1591713956505.1599095310501.1599095863824.1599095310501.1599095863824.0.0.0.3.3; __zpspc=9.2.1599095310.1599095863.2%233%7Cwww.sogou.com%7C%7C%7C%7C%23; _bfi=p1%3D290510%26p2%3D290510%26v1%3D4%26v2%3D3; _bfa=1.1591713953612.3xeul0.1.1591713953612.1599095307538.2.5; _bfs=1.4",
  11.     "cookieorigin":"https://you.ctrip.com",
  12.     "origin": "https://you.ctrip.com",
  13.     "referer": "https://you.ctrip.com/sight/lijiang32/3049.html",
  14.     "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0"
  15.     }
  16.    data = {"_fxpcqlniredt": "09031090311113380393"}
  17.    proxies = {"http":"http://103.146.184.77",
  18.             "https:":"https://103.146.184.77"
  19.            }
  20.    payload = {
  21.         "channelType": "2" ,                  
  22.         "collapseType": "0",
  23.         "commentTagId": "0",
  24.         "pageIndex":"1",
  25.         "pageSize": "10",
  26.         "poiId": "75919",
  27.         "sortType":" 3",
  28.         "sourceType": "1",
  29.         "starType": "0",
  30.         "auth": '""',
  31.         "ctok": '""',
  32.         "cid": "09031090311113380393",
  33.         "cver": "1.0",
  34.         "extension": "[]",
  35.         "lang": "01",
  36.         "sid": "8888",
  37.         "syscode": "09",
  38.         "xsid": '""'
  39.         }   
  40.    res = requests.post(url,headers = headers,params = data,data = json.dumps(payload))
  41.    return res
  42.      
  43.    
  44.    
  45. def main():
  46.     url = "https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031090311113380393" #headers>general>request url
  47.     res = get_comments(url)
  48.     with open("data.txt","w",encoding="utf-8") as f:
  49.         f.write(res.text)
  50.    
  51. if __name__ == "__main__":
  52.     main()
复制代码


打印出来的data.txt

                               
登录/注册后可看大图


请问是request payload 解析错误了吗?
最佳答案
2020-9-3 14:54:04
  1. import requests
  2. import json


  3. url = 'https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031100412019912485'

  4. headers = {
  5.     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
  6.                   '(KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36'
  7. }

  8. data = {
  9.     'arg': {'channelType': 2,
  10.             'collapseType': 0,
  11.             'commentTagId': 0,
  12.             'pageIndex': 1,
  13.             'pageSize': 10,
  14.             'poiId': 75919,
  15.             'sortType': 3,
  16.             'sourceType': 1,
  17.             'starType': 0
  18.             },
  19.     'head': {
  20.         'auth': '',
  21.         'cid': '09031100412019912485',
  22.         'ctok': '',
  23.         'cver': '1.0',
  24.         'extension': [],
  25.         'lang': '01',
  26.         'sid': '8888',
  27.         'syscode': '09',
  28.         'xsid': ''
  29.         }
  30.     }

  31. re = requests.post(url, headers=headers, data=json.dumps(data))
复制代码



你那个payload写错了,里面应该写成两个字典。这样写就好了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-9-3 10:33:40 | 显示全部楼层
浏览器直接访问,就是这个字符串啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-3 10:36:21 | 显示全部楼层
1q23w31 发表于 2020-9-3 10:33
浏览器直接访问,就是这个字符串啊

我把payload里面的head去掉了。然后就可以得到data.txt数据了,虽然我也不知道为什么会这样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-3 11:43:20 | 显示全部楼层
小小鹏 发表于 2020-9-3 10:36
我把payload里面的head去掉了。然后就可以得到data.txt数据了,虽然我也不知道为什么会这样

什么意思,建议发个图说明
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-3 14:35:13 | 显示全部楼层
1q23w31 发表于 2020-9-3 11:43
什么意思,建议发个图说明


                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-3 14:54:04 | 显示全部楼层    本楼为最佳答案   
  1. import requests
  2. import json


  3. url = 'https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031100412019912485'

  4. headers = {
  5.     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
  6.                   '(KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36'
  7. }

  8. data = {
  9.     'arg': {'channelType': 2,
  10.             'collapseType': 0,
  11.             'commentTagId': 0,
  12.             'pageIndex': 1,
  13.             'pageSize': 10,
  14.             'poiId': 75919,
  15.             'sortType': 3,
  16.             'sourceType': 1,
  17.             'starType': 0
  18.             },
  19.     'head': {
  20.         'auth': '',
  21.         'cid': '09031100412019912485',
  22.         'ctok': '',
  23.         'cver': '1.0',
  24.         'extension': [],
  25.         'lang': '01',
  26.         'sid': '8888',
  27.         'syscode': '09',
  28.         'xsid': ''
  29.         }
  30.     }

  31. re = requests.post(url, headers=headers, data=json.dumps(data))
复制代码



你那个payload写错了,里面应该写成两个字典。这样写就好了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 17:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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