我在Windows10X64上使用Python3(已安装Ananconda)。 我试图在" span"中获得价值。元素使用 urllib 和 BeautifulSoup ,在Chrome中,它显示8000,但它总是为我的代码结果提供0个字母。
有人可以建议获取Chrome网页浏览器中显示的实数的方法吗?
这是我的代码。
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
url ='https://www.futbin.com/18/squad/100133002/sbc'
req = Request(url,headers={'User-Agent': 'Mozilla/5.0'})
page_html = urlopen(req).read()
page_soup = BeautifulSoup(page_html,'html.parser')
page_soup.findAll("div", {"class": "ps4-price"})
结果如下。
[<div class="ps4-price">
<img class="price-platform-img" src="https://cdn.futbin.com/design/img/logos/full_small/ps_blue.png"/>
<div class="price-row-text" id="squad-price-ps3"><span class="psprice2">0</span></div>
</div>]
在&#34; span&#34;标签,它应显示相同的值(例如,8000,9000),如Chrome / Firefox中所示
答案 0 :(得分:3)
你可以用这种方法:
>>> url = 'https://www.futbin.com/18/squad/100133002/sbc'
>>> req = Request(url,headers={'User-Agent': 'Mozilla/5.0'})
>>> webpage = urlopen(req).read()
>>> soup = BeautifulSoup(webpage, "html.parser")
>>> required = soup.find_all("div", {"class":"pcdisplay-ps-price"})
>>> x = []
>>> for i in required:
... x.append(i.get_text())
>>> for i in x:
... print(i)
...
950
550
750
600
1,300
900
850
550
600
600
600
答案 1 :(得分:0)
ps4-price 的div通过其他请求加载。您也可以点击REFRESH PRICE
按钮获取网址。
https://www.futbin.com/18/getPricesById
简单的解决方案是通过 requests 。您可以按照此网站上的步骤操作:https://curl.trillworks.com/
REFRESH PRICE
按钮,您将在网络标签“https://www.futbin.com/18/getPricesById”print(response.json()['total_prices']['ps'])