soup.find_all使用
鱼友好不懂就问哈
我在爬取交易所里指标(DMI)的数据,不知道如何应用soup.find_all这个(看了说明,可惜基础知识不足哈{:5_100:} ),大佬指导。(新手,有可能代码有问题哈)
目标网址:https://www.binance.com/zh-CN/futures/ETHUSDT
------目标数据:
------代码:
------print 无反应:
大佬指导哈!!! bs4仅限于静态解析,所以你应该先判断一下
你要的信息是静态的还是动态的 wp231957 发表于 2022-9-7 18:35
bs4仅限于静态解析,所以你应该先判断一下
你要的信息是静态的还是动态的
那应该是动态的,随着时间的变化,数值就变化。
动态的应该怎么获取呢? 令狐陈 发表于 2022-9-8 08:53
那应该是动态的,随着时间的变化,数值就变化。
动态的应该怎么获取呢?
f12->network 看看里面有没有对应的接口 贴代码 令狐陈 发表于 2022-9-8 08:53
那应该是动态的,随着时间的变化,数值就变化。
动态的应该怎么获取呢?
而且貌似国内无法访问,国外网站吧
ZhKQYu 发表于 2022-9-8 09:16
f12->network 看看里面有没有对应的接口
我同事跟我说, 指标数据是前端实时计算出来的(只保存价格,通过价格和算法计算而得),后端没有存储指标数据的。我已经咨询了交易所,等那边回复吧。{:5_100:},学python就是为了爬数据做分析的。{:5_100:} suchocolate 发表于 2022-9-8 09:16
贴代码
问了交易所那边,指标数据确实是前端实时计算出来的。后端没有储存。估计爬不到。 令狐陈 发表于 2022-9-8 10:35
问了交易所那边,指标数据确实是前端实时计算出来的。后端没有储存。估计爬不到。
能看到就能爬,如果是实时变动,那么爬的结果就是那一刻的数据。
贴代码,没空手输你的图片里的代码。 suchocolate 发表于 2022-9-8 11:23
能看到就能爬,如果是实时变动,那么爬的结果就是那一刻的数据。
贴代码,没空手输你的图片里的代码。
感谢您的帮忙哈!!
源码放.txt文件里,也放了源码截图。
令狐陈 发表于 2022-9-9 14:03
感谢您的帮忙哈!!
源码放.txt文件里,也放了源码截图。
selenium试试这个库吧可能能解决你的问题 ZhKQYu 发表于 2022-9-9 18:31
selenium试试这个库吧可能能解决你的问题
非常感谢你的指点。
不过这涉及到我这新手的又一个盲区了,哈哈。
大致看了一下,貌似可以达到我的要求,我会认真学习的 ,再次感谢! 本帖最后由 suchocolate 于 2022-9-10 08:05 编辑
令狐陈 发表于 2022-9-9 14:03
感谢您的帮忙哈!!
源码放.txt文件里,也放了源码截图。
贴你写的代码,那个压缩包里没有。
请别人帮忙,他们得复现问题,复现问题得有代码,请用<>发代码. suchocolate 发表于 2022-9-10 08:01
贴你写的代码,那个压缩包里没有。
请别人帮忙,他们得复现问题,复现问题得有代码,请用发代码.
误解上面意思了,代码如下:
### 爬取ADX ###
import urllib.request,urllib.error
import re
from bs4 import BeautifulSoup
import xlwt
def main():
baseurl = "https://www.binance.com/zh-CN/futures/ETHUSDT"
#爬取网页
datalist = getData(baseurl)
#爬取网页
def getData():
datalist=[]#h获取地址中的数据封装成列表,并将数据返回
html=askURL(url)#将获取的网页源码保存到HTML中
#逐一解析数据
soup = BeautifulSoup(html,"html.parser")#html.parser是网页解析器
for item in soup.find_all('div',class_ = "chart-title-indicator-container"):
print(item)
return datalist
#获取指定一个网页的内容的方法
def askURL(url):
#伪装成网页的形式
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
}
requests = urllib.request.Request(url=url,headers=headers)
html=""#存放到html中
#防止出现意外
try:
response = urllib.request.urlopen(requests)
html = response.read().decode("utf-8") #读取response
except urllib.error.URLError as e :#捕获404 500等浏览器错误
if hasattr(e,"code"):
print(e.code)
if hasattr(e,"reasin"):
print(e.reason)
return html
页:
[1]