但似乎“强”为空。 我尝试了几种解决方案,但所有解决方案都给了我一个空的“强” 我在python 3中使用beautifulsoup。 例如,这段代码将我引到一个空的“ strong”:
client = requests.get(url, headers={"User-Agent": "Mozilla/5.0"})
soup = BeautifulSoup(client.content, 'lxml')
for child in soup.find("span", class_="free_ship").children:
print(child)
答案 0 :(得分:0)
问题是“免费送货”是在页面加载后由JavaScript生成的,而不是在网页中发送的。
页面加载后,它可能会通过执行HTTP请求来获得运费,或者可能隐藏在页面中
您也许可以尝试使用XHR请求,使用Firefox或chrome中的“网络”标签使用“网络”标签来获取运输价格,并以此来获取运输价格。
答案 1 :(得分:0)
使用XHR,您可以找到该数据:
import requests
from bs4 import BeautifulSoup
import json
url = 'https://m.banggood.com/ajax/product/dynamicPro/index.html'
payload = {
'c': 'api',
'sq': 'IY38TmCNgDhATYCmIDGxYisATHA7ANn2HwX2RNwEYrcAGAVgDNxawIQFhLpFhkOCuZFFxA'}
response = requests.get(url, params=payload).json()
data = response['result']
shipping = data['shipment']
for each in shipping.items():
print (each)
print (shipping['shipCost'])
输出:
print (shipping['shipCost'])
<b>Free Shipping</b>