【发布时间】:2017-12-12 12:22:24
【问题描述】:
我正在使用 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>
【问题讨论】:
-
恐怕你不能使用
requests或urllib来完成这项任务。这是一个js生成的标签。
标签: python web-scraping beautifulsoup