html - 抓取不可见的 URL
问题描述
我正在练习抓取这个网页:https ://banco.santander.cl/beneficios/todos?segmento=s-personas&categoria=sabores
它包含桑坦德与食物有关的好处,我想做的是获取显示的不同选项的链接,但是当我转到源页面时,我找不到此信息。
我一直在阅读并且我了解您无法在源代码中隐藏任何信息,但您可以通过某种方式“加密”。我想知道在我正在研究的这种特殊情况下发生了什么,它是“加密的”?还是别的什么?
比如第一个产品是Work/Café,URL是:https ://banco.santander.cl/beneficios/promociones/work-cafe?segmento=s-personas&categoria=sabores 怎么在源码中找到这个URL ? 或者为什么我找不到
源代码是:source
解决方案
您实际上可以使用请求 url 获取它并获取 json 响应。它将返回所有促销活动,您可以访问以该 json 格式关联的 url:
import requests
url = 'https://banco.santander.cl/beneficios/promociones.json'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'}
params = {
'per_page': '500',
'page': '1'}
response = requests.get(url, headers=headers, params = params).json()
promotions = response['promociones']
# This will print ALL promototions
for promo in promotions:
print (promo['url'])
# To print just a specific category as defined in the json response
for promo in promotions:
if promo['category'] == 'sabores':
print (promo['url'])
输出:
https://banco.santander.cl/beneficios/sabores/promociones/work-cafe
https://banco.santander.cl/beneficios/sabores/promociones/le-due-torri-4
https://banco.santander.cl/beneficios/sabores/promociones/senz-sushi-nikkei
https://banco.santander.cl/beneficios/sabores/promociones/chili-s
https://banco.santander.cl/beneficios/sabores/promociones/1756
https://banco.santander.cl/beneficios/sabores/promociones/idilico-2
https://banco.santander.cl/beneficios/sabores/promociones/la-celia-restobar
https://banco.santander.cl/beneficios/sabores/promociones/au-restaurante
https://banco.santander.cl/beneficios/sabores/promociones/ph-banh-mi-by-vietnam-discovery-2
https://banco.santander.cl/beneficios/sabores/promociones/vietnam-discovery-3
https://banco.santander.cl/beneficios/sabores/promociones/majestic-2
https://banco.santander.cl/beneficios/sabores/promociones/bozzo-2
https://banco.santander.cl/beneficios/sabores/promociones/tambo-2
https://banco.santander.cl/beneficios/sabores/promociones/boost-2
https://banco.santander.cl/beneficios/sabores/promociones/panko-2
https://banco.santander.cl/beneficios/sabores/promociones/mizu-sushi
https://banco.santander.cl/beneficios/sabores/promociones/fork-2
https://banco.santander.cl/beneficios/sabores/promociones/hacienda-patagonia-2
https://banco.santander.cl/beneficios/sabores/promociones/san-marino-puerto-montt-2
https://banco.santander.cl/beneficios/sabores/promociones/toro-bayo-talca
https://banco.santander.cl/beneficios/sabores/promociones/burger-club-la-serena-2
https://banco.santander.cl/beneficios/sabores/promociones/vivace-talca-2
https://banco.santander.cl/beneficios/sabores/promociones/cambalache
https://banco.santander.cl/beneficios/sabores/promociones/las-vacas-gordas-2
https://banco.santander.cl/beneficios/sabores/promociones/castillo-forestal-2
https://banco.santander.cl/beneficios/sabores/promociones/burger-king-3
https://banco.santander.cl/beneficios/sabores/promociones/rosa-amelia
https://banco.santander.cl/beneficios/sabores/promociones/montana-steak-house-bar
https://banco.santander.cl/beneficios/sabores/promociones/zocca
https://banco.santander.cl/beneficios/sabores/promociones/club-de-yates-puerto-montt
https://banco.santander.cl/beneficios/sabores/promociones/museo-peruano
https://banco.santander.cl/beneficios/sabores/promociones/pf-chang-s-2
推荐阅读
- javascript - 如何从额外的输入表单将数据保存到 sql
- swift - 图像未在 imageView 中显示
- c# - 如何使用 Identity Server 4 撤销或使令牌无效?
- android - 如何知道在哪里寻找 android 手机上的媒体目录?
- python - 用python抓取谷歌搜索url列表
- json - 将 Firebase 备份加载到 bigquery 时出现“解析 JSON 失败:字符串中应有结束引号”错误
- android - 为什么 XML 元素在我的 android studio 模拟器上不可见?
- java - 帧缓冲区图像查看器 (FBI) 在作为进程执行时失败 - Java
- c# - 来自 UserValidator 的身份 c# .net core CustomUserValidator
- python - GridSearchCV 期间的 Python 缩放