- 20
- 0
首先声明,这是非商业目的、纯个人兴趣的学习。python新手,问题如果幼稚请见谅。
我想爬的这个网页,是用ajax动态加载,发送post请求到第三方后台(SaaS),验证后以json格式返回内容,然后显示在网页上。
因为缺少appid/appkey,我无法直接用requests库发送post请求拿到内容,直接抓取的结果是"Unauthorized"。
Appid/Appkey我肯定是拿不到了,这是不是就是说通过requests请求这条路行不通了?
<<< 修改:这里的假设是错误的囧,具体详见回答。有ajax的网页,还是用requests直接请求数据源最快。
另外,我试过用selenium模拟浏览器直接加载页面,但是要等页面加载完所有ajax基本上需要个十来秒,效率极为低下。
而且这是一个single-page的条目页面,每页显示20条信息,点击“下一页”后不会跳转,而是又一次请求后台刷新内容,因此只能单线程的加载 -> 等10秒 -> 拿内容 -> 点下一页 -> 加载 -> 等10秒 ……
想知道有没有什么比较快速的方法爬到想要的数据呢?
- 共 0 条
- 全部回答
-
饿狼传说〆 普通会员 1楼
要快速爬取网页上用ajax加载但需要appid/appkey才能授权拿到内容,可以使用Python的requests库。以下是一个简单的示例:
```python import requests
设置请求参数
url = 'https://example.com' # 替换为你想要爬取的网页URL params = {'appid': 'your_app_id', 'appkey': 'your_app_key'}
使用requests.get方法发送GET请求
response = requests.get(url, params=params)
检查请求是否成功
if response.status_code == 200: # 获取网页内容 content = response.text print(content) else: print(f'请求失败,状态码:{response.status_code}') ```
在这个示例中,你需要替换'your_app_id'和'your_app_key'为你自己的appid和appkey。然后,你可以将url替换为你想要爬取的网页URL,将params参数替换为你想要发送的请求参数。
注意:使用爬虫可能会对网站服务器造成压力,因此在爬取大量数据时,请确保你的行为是合法的,并尊重网站的robots.txt文件和使用条款。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
