我正在使用python BS4
来浏览https://skinup.gg网站。我试图得到乘数类,按顺序,从一个网站。你知道吗
我试着从div历史课上获取所有的数据来搜集信息。然而,它只是返回[]
,我对如何获得乘数感到困惑。你知道吗
我想知道这是否是因为div标签类值不断变化。这就引出了我的第二个问题:它们如何在html标记中具有动态值?是通过Javascript
完成的吗?你知道吗
原谅我的语法。你知道吗
这是我的密码:
import urllib.request
import requests
from bs4 import BeautifulSoup
import urllib
page = requests.g et("https://skinup.gg/"
soup = BeautifulSoup(page.content, "html.parser")
print(soup.find_all('div', attrs={'class': 'win'}))
相关网站代码:
<div class="history"><div class="win" style="">
<time class="date">23:05</time>
<span class="multiplier">2.19</span>
</div><div class="win" style="">
<time class="date">23:04</time>
<span class="multiplier">2.62</span>
</div><div class="lose" style="">
<time class="date">23:04</time>
<span class="multiplier">1.75</span>
</div><div class="lose" style="">
<time class="date">23:04</time>
<span class="multiplier">1.00</span>
</div><div class="lose" style="">
<time class="date">23:04</time>
<span class="multiplier">1.21</span>
</div><div style="">
<time class="date">23:03</time>
<span class="multiplier">1.82</span>
</div><div class="lose" style="">
<time class="date">23:03</time>
<span class="multiplier">1.00</span>
</div><div class="win" style="">
<time class="date">23:03</time>
<span class="multiplier">2.91</span>
</div><div class="lose" style="">
<time class="date">23:02</time>
<span class="multiplier">1.01</span>
</div><div class="win" style="">
<time class="date">23:02</time>
<span class="multiplier">1184.44</span>
</div><div class="win" style="">
<time class="date">23:01</time>
<span class="multiplier">36.81</span>
</div><div class="lose" style="">
<time class="date">22:59</time>
<span class="multiplier">1.38</span>
</div><div class="win" style="">
<time class="date">22:59</time>
<span class="multiplier">2.42</span>
</div><div class="win" style="">
<time class="date">22:59</time>
<span class="multiplier">8.00</span>
</div><div class="win" style="">
<time class="date">22:58</time>
<span class="multiplier">3.42</span>
</div><div class="win" style="">
<time class="date">22:57</time>
<span class="multiplier">2.04</span>
</div><div class="lose" style="">
<time class="date">22:57</time>
<span class="multiplier">1.17</span>
</div><div class="lose" style="">
<time class="date">22:57</time>
<span class="multiplier">1.24</span>
</div><div class="lose" style="">
<time class="date">22:57</time>
<span class="multiplier">1.11</span>
</div><div class="lose" style="">
<time class="date">22:56</time>
<span class="multiplier">1.53</span>
</div>
</div>
首先,这会引发语法错误:
更改为:
我建议用lxml代替html.parser语法分析器,它更快更轻。你知道吗
现在,回答你的问题
具有win作为class属性的div段位于具有history class属性的div段下。因此首先搜索历史,然后在获得的列表中搜索win。你知道吗
但是,当我运行您的脚本并交叉检查您链接的站点的页面源代码时,没有具有win class属性的div段。你知道吗
你能告诉我,你是从哪里得到相关网站代码的吗?你知道吗
正如t.m.adam提到的,urllib或请求无法获取动态页面源。
但是当你看到用chrome开发工具链接的页面时,你可以看到div win类是在舍入乘数>;2。
这些由使用wss协议的“socketcluster/”接收。
所以您应该使用python wss模块来实现您的目标。你知道吗
对于有问题的网站,您需要使用selenium来获取所需的数据。你知道吗
相关问题 更多 >
编程相关推荐