鱼C论坛

 找回密码
 立即注册
查看: 2547|回复: 13

soup.find_all使用

[复制链接]
发表于 2022-9-7 17:21:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
鱼友好

     不懂就问哈


我在爬取交易所里指标(DMI)的数据,不知道如何应用soup.find_all这个(看了说明,可惜基础知识不足哈 ),大佬指导。(新手,有可能代码有问题哈)

目标网址:https://www.binance.com/zh-CN/futures/ETHUSDT

------目标数据:
目标数据.png

------代码:
代码.png

------print 无反应:
反应.png


大佬指导哈!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-7 18:35:34 From FishC Mobile | 显示全部楼层
bs4仅限于静态解析,所以你应该先判断一下
你要的信息是静态的还是动态的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-8 08:53:51 | 显示全部楼层
wp231957 发表于 2022-9-7 18:35
bs4仅限于静态解析,所以你应该先判断一下
你要的信息是静态的还是动态的

那应该是动态的,随着时间的变化,数值就变化。
动态的应该怎么获取呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-8 09:16:14 | 显示全部楼层
令狐陈 发表于 2022-9-8 08:53
那应该是动态的,随着时间的变化,数值就变化。
动态的应该怎么获取呢?

f12->network 看看里面有没有对应的接口
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-8 09:16:32 | 显示全部楼层
贴代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-8 09:18:09 | 显示全部楼层
令狐陈 发表于 2022-9-8 08:53
那应该是动态的,随着时间的变化,数值就变化。
动态的应该怎么获取呢?

而且貌似国内无法访问,国外网站吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-8 10:21:44 | 显示全部楼层
ZhKQYu 发表于 2022-9-8 09:16
f12->network 看看里面有没有对应的接口

我同事跟我说, 指标数据是前端实时计算出来的(只保存价格,通过价格和算法计算而得),后端没有存储指标数据的。我已经咨询了交易所,等那边回复吧。,学python就是为了爬数据做分析的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-8 10:35:53 | 显示全部楼层

问了交易所那边,指标数据确实是前端实时计算出来的。后端没有储存。估计爬不到。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-8 11:23:02 | 显示全部楼层
令狐陈 发表于 2022-9-8 10:35
问了交易所那边,指标数据确实是前端实时计算出来的。后端没有储存。估计爬不到。


能看到就能爬,如果是实时变动,那么爬的结果就是那一刻的数据。
贴代码,没空手输你的图片里的代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-9 14:03:21 | 显示全部楼层
suchocolate 发表于 2022-9-8 11:23
能看到就能爬,如果是实时变动,那么爬的结果就是那一刻的数据。
贴代码,没空手输你的图片里的代码。

感谢您的帮忙哈!!

源码放.txt文件里,也放了源码截图。

指标源码.rar (212.47 KB, 下载次数: 1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-9 18:31:33 | 显示全部楼层
令狐陈 发表于 2022-9-9 14:03
感谢您的帮忙哈!!

源码放.txt文件里,也放了源码截图。

selenium试试这个库吧  可能能解决你的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-9 21:24:23 | 显示全部楼层
ZhKQYu 发表于 2022-9-9 18:31
selenium试试这个库吧  可能能解决你的问题

非常感谢你的指点。
不过这涉及到我这新手的又一个盲区了,哈哈。
大致看了一下,貌似可以达到我的要求,我会认真学习的 ,再次感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-10 08:01:13 | 显示全部楼层
本帖最后由 suchocolate 于 2022-9-10 08:05 编辑
令狐陈 发表于 2022-9-9 14:03
感谢您的帮忙哈!!

源码放.txt文件里,也放了源码截图。


贴你写的代码,那个压缩包里没有。
请别人帮忙,他们得复现问题,复现问题得有代码,请用<>发代码.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-10 22:02:45 | 显示全部楼层
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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 18:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表