python - 如何使用 beautifulsoup 从 banggood.com 获取运费
问题描述
但似乎“强”是空的。我尝试了一些解决方案,但所有解决方案都给了我一个空的“强”,我在 python 3 中使用了 beautifulsoup。例如,这段代码让我得到了一个空的“强”:
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)
解决方案
使用 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>
推荐阅读
- r - 通过匹配列中的值来合并R中不同长度的数据集?
- ruby-on-rails - Sequel Connection 池中的多个连接
- laravel - Public_path 的 Laravel 错误不起作用
- mysql - MySQL New Column at SELECT 添加,但值没有增加,存储过程
- javascript - 使用引导下拉子菜单
- wcf - WCF Datacontract for XML 比单层更深
- python - Python洪水填充不返回
- python - 在 Python 中将图像导入为“imageio.core.util.Image”类型的 RGB 像素
- c# - .NET Core 2.2:如何将 WSDL 用于 WCF 参考
- ubuntu - 如何在 ubuntu 中访问我的 USB 键盘固件?