鱼C论坛

 找回密码
 立即注册
查看: 3265|回复: 16

爬虫新手求助,大神求帮忙

[复制链接]
发表于 2020-12-13 21:57:11 | 显示全部楼层 |阅读模式

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

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

x
今天自己爬取APP的数据,是Ajax的数据,本来想for循环爬取的,但是看了几个URL都没有规律,前后都一样就是中间的几个数字不一样如下,请问这是加密了吗,应该怎么做才能把这些url整理出来
  1. url = 'https://i.snssdk.com/bds/feed/stream/?api_version=4.2&layout_style=1&feed_count=5&cursor=1607864083610&auto_play=1&first_launch=false&is_new_story=true&auto_play_wifi=false&auto_play_mobile=true&list_type=1&sub_channel_type=0&direction=2&iid=404242811586408&device_id=2955087819584408&ac=wifi&mac_address=00%3A81%3Aeb%3A12%3A74%3A22&channel=tengxun&aid=1319&app_name=super&version_code=310&version_name=3.1.0&device_platform=android&ssmix=a&device_type=SM-G9730&device_brand=samsung&language=zh&os_api=22&os_version=5.1.1&uuid=865166026081698&openudid=3c7e3988f3dd1c3c&manifest_version_code=310&resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1607864812292&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1607864814&as=a111111111111111111111&cp=a000000000000000000000&mas=011faa18fcf33cf2159b9c0565a06807f58c8c8c8c8c8c8c8c8c8c'
  2. url = 'https://i.snssdk.com/bds/feed/stream/?api_version=4.2&layout_style=1&feed_count=6&cursor=1607864072610&auto_play=1&first_launch=false&is_new_story=true&auto_play_wifi=false&auto_play_mobile=true&list_type=1&sub_channel_type=0&direction=2&iid=404242811586408&device_id=2955087819584408&ac=wifi&mac_address=00%3A81%3Aeb%3A12%3A74%3A22&channel=tengxun&aid=1319&app_name=super&version_code=310&version_name=3.1.0&device_platform=android&ssmix=a&device_type=SM-G9730&device_brand=samsung&language=zh&os_api=22&os_version=5.1.1&uuid=865166026081698&openudid=3c7e3988f3dd1c3c&manifest_version_code=310&resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1607866998357&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1607867000&as=a111111111111111111111&cp=a000000000000000000000&mas=011faa18fcf33cf2159b9c0565a06807f58c8c8c8c8c8c8c8c8c8c'
  3. url = 'https://i.snssdk.com/bds/feed/stream/?api_version=4.2&layout_style=1&feed_count=7&cursor=1607864061610&auto_play=1&first_launch=false&is_new_story=true&auto_play_wifi=false&auto_play_mobile=true&list_type=1&sub_channel_type=0&direction=2&iid=404242811586408&device_id=2955087819584408&ac=wifi&mac_address=00%3A81%3Aeb%3A12%3A74%3A22&channel=tengxun&aid=1319&app_name=super&version_code=310&version_name=3.1.0&device_platform=android&ssmix=a&device_type=SM-G9730&device_brand=samsung&language=zh&os_api=22&os_version=5.1.1&uuid=865166026081698&openudid=3c7e3988f3dd1c3c&manifest_version_code=310&resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1607867530409&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1607867532&as=a111111111111111111111&cp=a000000000000000000000&mas=011faa18fcf33cf2159b9c0565a06807f58c8c8c8c8c8c8c8c8c8c'
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-14 09:23:53 | 显示全部楼层
有大神指点吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-15 09:49:51 | 显示全部楼层
关键是你想干嘛呀?你说的整理是要整理什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-15 12:56:43 | 显示全部楼层
你的代码和你想爬的东西发出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-15 15:38:38 | 显示全部楼层
suchocolate 发表于 2020-12-15 12:56
你的代码和你想爬的东西发出来
  1. # *_*coding:utf-8 *_*
  2. import requests
  3. import json

  4. url = 'https://i.snssdk.com/bds/feed/stream/?api_version=4.2&layout_style=1&feed_count=5&cursor=1607864083610&auto_play=1&first_launch=false&is_new_story=true&auto_play_wifi=false&auto_play_mobile=true&list_type=1&sub_channel_type=0&direction=2&iid=404242811586408&device_id=2955087819584408&ac=wifi&mac_address=00%3A81%3Aeb%3A12%3A74%3A22&channel=tengxun&aid=1319&app_name=super&version_code=310&version_name=3.1.0&device_platform=android&ssmix=a&device_type=SM-G9730&device_brand=samsung&language=zh&os_api=22&os_version=5.1.1&uuid=865166026081698&openudid=3c7e3988f3dd1c3c&manifest_version_code=310&resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1607864812292&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1607864814&as=a111111111111111111111&cp=a000000000000000000000&mas=011faa18fcf33cf2159b9c0565a06807f58c8c8c8c8c8c8c8c8c8c'
  5. # url = 'https://i.snssdk.com/bds/feed/stream/?api_version=4.2&layout_style=1&feed_count=6&cursor=1607864072610&auto_play=1&first_launch=false&is_new_story=true&auto_play_wifi=false&auto_play_mobile=true&list_type=1&sub_channel_type=0&direction=2&iid=404242811586408&device_id=2955087819584408&ac=wifi&mac_address=00%3A81%3Aeb%3A12%3A74%3A22&channel=tengxun&aid=1319&app_name=super&version_code=310&version_name=3.1.0&device_platform=android&ssmix=a&device_type=SM-G9730&device_brand=samsung&language=zh&os_api=22&os_version=5.1.1&uuid=865166026081698&openudid=3c7e3988f3dd1c3c&manifest_version_code=310&resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1607866998357&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1607867000&as=a111111111111111111111&cp=a000000000000000000000&mas=011faa18fcf33cf2159b9c0565a06807f58c8c8c8c8c8c8c8c8c8c'
  6. # url = 'https://i.snssdk.com/bds/feed/stream/?api_version=4.2&layout_style=1&feed_count=7&cursor=1607864061610&auto_play=1&first_launch=false&is_new_story=true&auto_play_wifi=false&auto_play_mobile=true&list_type=1&sub_channel_type=0&direction=2&iid=404242811586408&device_id=2955087819584408&ac=wifi&mac_address=00%3A81%3Aeb%3A12%3A74%3A22&channel=tengxun&aid=1319&app_name=super&version_code=310&version_name=3.1.0&device_platform=android&ssmix=a&device_type=SM-G9730&device_brand=samsung&language=zh&os_api=22&os_version=5.1.1&uuid=865166026081698&openudid=3c7e3988f3dd1c3c&manifest_version_code=310&resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1607867530409&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1607867532&as=a111111111111111111111&cp=a000000000000000000000&mas=011faa18fcf33cf2159b9c0565a06807f58c8c8c8c8c8c8c8c8c8c'
  7. headers = {
  8.     'Accept-Encoding': 'gzip',
  9.     'X-SS-QUERIES': 'dGMFEAAALKb45244N2Q4WvZRaWJ43MHnNutwf3ezOKOIakGvmRRer2p7PWNt3oVnlkF0MfY6JudbjVSLm0QZ3%2FwrOWEI7cEeRrNjxL%2Bh81Cvk%2BlR0U%2FJPnw6TOiz7BDIenFnuZ9ms%2FpQMEmGCMkEEzUvVK1s6CGCUOtiPh9jNxSBwWHxJKESn32AupRlbUgaoF%2F05V1uGTH28KhzNMX5PQYxBtAuJybX%2FV%2Fz75gyFhqAizH15qF%2FmWZOaiVnUdMcofBdnX7aRFqCRl%2FnwcYohIU%2FQLf5B1GYlGb4SxS4DITNq9Ri%2B98%3D',
  10.     'X-SS-REQ-TICKET': '1607864812299',
  11.     'sdk-version': '1',
  12.     'User-Agent': 'ttnet okhttp/3.10.0.2',
  13.     'Cookie': 'd_ticket=fb76f4b5600697d133c8fecd35329d029da2c; odin_tt=ac704e8fd8703e27e7cf14edde603d864ffe1a9a4373bf796c20793b9196da808efa8ce56635229aea208be00fee4f70; n_mh=5CPRU9W2V4vPoaX-0-2TPdOvOsZoi5YzrOvHTVEJ4U8; sid_guard=d135f984cfd29725e6e8ddb960906af3%7C1607740914%7C5184000%7CWed%2C+10-Feb-2021+02%3A41%3A54+GMT; uid_tt=0c1094f9d8f32f964b95ed966182270e; sid_tt=d135f984cfd29725e6e8ddb960906af3; sessionid=d135f984cfd29725e6e8ddb960906af3; install_id=404242811586408; ttreq=1$fe319892ccdf9ac7e3a4132a7f21bcb432fa7d6c',
  14.     'x-tt-token': '00d135f984cfd29725e6e8ddb960906af30175422c24e6eae31288d84c275f55e25dc8eb5bd4c35a6534842c12e02d7597be352d94205a8e9c1a5bd2472cdabe5fac578e04e53e74467cfb7c13d448d309ec8-1.0.0',
  15.     'X-Gorgon': '04084877401129aab917856373c902a24c260648508b3c735e5e',
  16.     'X-Khronos': '1607864812',
  17.     'Host': 'i.snssdk.com',
  18.     'Connection': 'Keep-Alive',
  19. }
  20. response = requests.get(url,headers=headers)
  21. # print(response.text)
  22. date = json.loads(response.text)
  23. date_list = date['data']['data']
  24. # print(date_list)
  25. for share_list in date_list:
  26.     video_list = share_list['item']['share']['share_url']
  27.     print(video_list)
  28.     with open('链接.txt', 'a', encoding = 'utf-8') as f:
  29.         f.write(video_list + '\n')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-15 15:44:50 | 显示全部楼层
suchocolate 发表于 2020-12-15 12:56
你的代码和你想爬的东西发出来

我就想获取更多的URL,他这个是ajax的预加载,怎么才能获取
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-15 18:21:12 | 显示全部楼层
本帖最后由 suchocolate 于 2020-12-15 18:23 编辑
zouyin 发表于 2020-12-15 15:44
我就想获取更多的URL,他这个是ajax的预加载,怎么才能获取


我看你的代码已经打印出很多url了。然后还不清楚你的入口url是从何获得的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-15 22:25:37 | 显示全部楼层
suchocolate 发表于 2020-12-15 18:21
我看你的代码已经打印出很多url了。然后还不清楚你的入口url是从何获得的。

我是爬取的皮皮虾的视频分享链接,URL我是用Fiddler抓取的JSON信息里面的URL,他那个是ajax加载的要一直往下翻,就会出现json数据,一个json数据里面有10个视频的信息,我就是这样找的,我的意思就是如何找到更多的URL信息,这个没啥规律,就中间数字不一样,要是有规律我会写用format那种1,2,3那样循环,这个中间不一样用正则吗,怎么取出很多URL
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-15 23:23:46 | 显示全部楼层
zouyin 发表于 2020-12-15 22:25
我是爬取的皮皮虾的视频分享链接,URL我是用Fiddler抓取的JSON信息里面的URL,他那个是ajax加载的要一直 ...

一般下一页的参数放在本页中。
如果是比较规律的ajax可以不用selenium等模拟翻动,ajax只是参数有变化的普通get。
你把入口url发出来看看。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-16 00:40:00 | 显示全部楼层
suchocolate 发表于 2020-12-15 23:23
一般下一页的参数放在本页中。
如果是比较规律的ajax可以不用selenium等模拟翻动,ajax只是参数有变化的 ...

https://i.snssdk.com/bds/feed/st ... amp;resolution=1280*720&dpi=240&update_version_code=31050&_rticket=1608050311699&cdid=94bc9102-5bd9-400b-a88a-f951dba7d451&app_region=CN&sys_region=CN&time_zone=Asia%2FShanghai&app_language=ZH&carrier_region=CN&last_channel=&last_update_version_code=0&ts=1608050311&as=a111111111111111111111&cp=a000000000000000000000&mas=01d46ea7e68a5b6a3771349a19b5b03de98c8c8c8c8c8c8c8c8c8c

这个就是第一个json数据里面的url,您可以看一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-16 00:48:24 | 显示全部楼层
他那个变动的数字在每一个json里headers里面X-Khronos: 1608050640
这一项后面数字一样的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-16 00:50:08 | 显示全部楼层
zouyin 发表于 2020-12-16 00:48
他那个变动的数字在每一个json里headers里面X-Khronos: 1608050640
这一项后面数字一样的

说错了,不对,往后翻页就不对了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-16 00:52:25 | 显示全部楼层
suchocolate 发表于 2020-12-15 23:23
一般下一页的参数放在本页中。
如果是比较规律的ajax可以不用selenium等模拟翻动,ajax只是参数有变化的 ...

反正URL里面的数字1608开头的肯定每个都不一样,一个URL有两个1608开头的数字,而且都不一样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-16 01:47:20 | 显示全部楼层
zouyin 发表于 2020-12-16 00:52
反正URL里面的数字1608开头的肯定每个都不一样,一个URL有两个1608开头的数字,而且都不一样

别猜规律了,把入口发出来,得拿到页面码源才能分析。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-16 13:57:50 | 显示全部楼层
suchocolate 发表于 2020-12-16 01:47
别猜规律了,把入口发出来,得拿到页面码源才能分析。

已经发了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-16 14:43:47 | 显示全部楼层

没看到入口url,入口是指最最初登陆网站的那个url,有了这个url,才能发起ajax。
你上面贴的都是ajax的url。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-16 16:00:35 | 显示全部楼层
suchocolate 发表于 2020-12-16 14:43
没看到入口url,入口是指最最初登陆网站的那个url,有了这个url,才能发起ajax。
你上面贴的都是ajax的u ...

那个啊 我是在fillder抓的包,软件一打开就是JSON数据 手机APP也没有什么网站啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 09:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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