问题描述
我想要做的就是从所有
from bs4 import BeautifulSoup
import requests
for page_no in range(1,3):
data = {
'filterToken': "",'instrumentType': "EQUITY",'maxResultsPerPage': 10,'pageNumber': page_no
}
page = requests.post('https://www.nyse.com/api/quotes/filter',data=data)
soup = BeautifulSoup(page.text,'html.parser')
print('PAGE',page_no)
for name in soup.findAll('td'):
print(''.join(name.findAll(text=True)))
我没有收到任何错误,它只打印页码。我知道已经有几个 find_all 问题,但它们似乎都没有改变结果,也许我的“请求”是错误的?非常感谢任何帮助。
谢谢
1 个答案:
答案 0 :(得分:0)
好的,因为这是一个有效载荷问题,所以我决定让邮递员让它在那里工作并从代码生成器中获取片段。
这是我从邮递员那里得到的代码(除了我添加的换页的for循环)
我保持汤完全一样。这绝对是有效载荷格式的问题。
from bs4 import BeautifulSoup
import requests
url = "https://www.nyse.com/api/quotes/filter"
for page_no in range(1,3):
payload="{\r\n\"filterToken\": \"\",\r\n\"instrumentType\": \"EQUITY\",\r\n\"maxResultsPerPage\": 10,\r\n\"pageNumber\": 2,\r\n\"sortColumn\": \"norMALIZED_TICKER\",\r\n\"sortOrder\": \"ASC\"\r\n}"
headers = {
'Content-Type': 'application/json','Cookie': '__cfduid=d1d98afcb22d3de94fabd5aa239a7f9dd1613587281; ICE=!JZg6hDNDz8MetoWQmW/NR4Un8KL87Pjjm4sZeq90MTiHJNFVEjMb6jE17JMo4Kqh30d5/r5S1JWaRw==; TS01ebd031=0100e6d4952c533b3a410d9219c173dd7215532f3c5eb2aa18ab3c24ed0e7523be4ae96305fe495c8f3ced04071d353afb732ef83a06090cec6f6dc7d40a1c2c7dcb86a73e'
}
response = requests.request("POST",url,headers=headers,data=payload)
print(response.text)
print('PAGE:',page_no)
soup = BeautifulSoup(url,'html.parser')
for symbol in soup.findAll('td'):
print(''.join(symbol.findAll(text=True)))
相关问题
最新问题
- 我写了这段代码,但我无法理解我的错误
- 在此代码中是否有使用“this”的替代方法?
- 在 SQL Server 和 PostgreSQL 上查询,我如何从第一个表获得第二个表的可视化
- 为什么我的 Onclick 箭头功能在 React 中不起作用?
- java中的random.expovariate()
- 每千个数字得到
- 是否有可能使 loadstring 不可能等于打印?卢阿
- 启动调试会话时出错 - Google Cloud Shell
- 我无法从一个代码实例的列表中删除 None 值,但我可以在另一个实例中。为什么它适用于一个细分市场而不适用于另一个细分市场?
- Appscript 通过会议在 Google 日历中发送电子邮件和创建活动
解决方法
好的,因为这是一个有效载荷问题,所以我决定让邮递员让它在那里工作并从代码生成器中获取片段。
这是我从邮递员那里得到的代码(除了我添加的换页的for循环)
我保持汤完全一样。这绝对是有效载荷格式的问题。
from bs4 import BeautifulSoup
import requests
url = "https://www.nyse.com/api/quotes/filter"
for page_no in range(1,3):
payload="{\r\n\"filterToken\": \"\",\r\n\"instrumentType\": \"EQUITY\",\r\n\"maxResultsPerPage\": 10,\r\n\"pageNumber\": 2,\r\n\"sortColumn\": \"NORMALIZED_TICKER\",\r\n\"sortOrder\": \"ASC\"\r\n}"
headers = {
'Content-Type': 'application/json','Cookie': '__cfduid=d1d98afcb22d3de94fabd5aa239a7f9dd1613587281; ICE=!JZg6hDNDz8MeToWQmW/NR4Un8KL87Pjjm4sZeq90MTiHJNFVEjMb6jE17JMo4Kqh30d5/r5S1JWaRw==; TS01ebd031=0100e6d4952c533b3a410d9219c173dd7215532f3c5eb2aa18ab3c24ed0e7523be4ae96305fe495c8f3ced04071d353afb732ef83a06090cec6f6dc7d40a1c2c7dcb86a73e'
}
response = requests.request("POST",url,headers=headers,data=payload)
print(response.text)
print('PAGE:',page_no)
soup = BeautifulSoup(url,'html.parser')
for symbol in soup.findAll('td'):
print(''.join(symbol.findAll(text=True)))