javascript - 抓取网页数据
问题描述
我想从一个网站上抓取数据:https : //en.macromicro.me/charts/773/baltic-dry-index ,它包含 4 个数据集。
我发现该网站使用 javascript 向https://en.macromicro.me/charts/data/773发送请求以 获取数据,但由于某种原因,我无法使用 Postman 或我的脚本。我不断得到结果:{'success': 0, 'data': [], 'msg': 'error #240'}
我在这里错过了什么吗?这是我的代码:
import requests
import json
import datetime
import pandas as pd
url = 'https://en.macromicro.me/charts/data/773'
header = {
'sec-ch-ua':'"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
'Accept':'application/json, text/javascript, */*; q=0.01',
'Docref': 'https://www.google.com/',
'X-Requested-With':'XMLHttpRequest',
'sec-ch-ua-mobile':'?0',
'Authorization':'Bearer ee1c7b87258a902bde1129df2b64abac',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'
}
r = requests.get(url,headers = header)
response = json.loads(r.text)
response
解决方案
缺少Cookie
标题。刷新页面以获取 cookie。
推荐阅读
- c++ - 除非浮点数是完整的,否则是否有带有 sprintf 的格式字符串来填充?
- azure - Azure Devops 管道运行中的 Pytest 无法识别的参数
- angular - Angular 方法返回带有 http observable
- amazon-web-services - 使用 Athena 查询 S3 库存时出现 HIVE_CURSOR_ERROR - 大小列是否正确?
- javascript - 使用 React Native 从 API 获取数据
- javascript - 在函数中声明默认参数有什么作用?
- amazon-web-services - 如何在 DynamoDB 中搜索嵌套的对象数组
- asp.net-core - 状态 415 不支持的媒体类型表单数据
- oracle - 是否有任何 PL/SQL 脚本来修改 Oracle 数据库每个模式中每个表的列值
- flutter - 如何在 GridView 中捕获滚动事件?