如何用美丽的汤快速提取文本



我会在下面的强标签之间提取文本:

<div class="u-flL sh-col">
<span id="shSummary">
<div class=" vi-fnf-ship  fnfvar0">
<img alt="Estimated by eBay FAST 'N FREE " src="https://ir.ebaystatic.com/rs/v/xmyxg1ubry1npie2zlpan5za3yu.png" class="vi-fnf-ship-img">
<span class="vi-fnf-ship-txt "><strong class="sh_gr_bld">FAST 'N FREE</strong></span>

我在以下方面采取了一击即中的方法,但没有运气:

# shippingCost = soup.find('strong', {'class':"sh_gr_bld"}).text.strip()
#shippingCost = soup.find('div', {'class': ' vi-fnf-ship  fnfvar0'}).find('span', {'class': 'vi-fnf-ship-txt'})
#   .find('strong', {'class': 'sh_gr_bld'}).text
# shippingCost = soup.find_all('strong[class="sh_gr_bld"]').text
# shippingCost = soup.find('span', {'class': 'vi-fnf-ship-txt'}).text#.find('b', {'class': 'sh_gr_bld'}).text
# shippingCost = soup.find('div')
# shippingCost = soup.find_all('span', {'class': 'vi-fnf-ship-txt'}).text#.find('span').next_sibling
# shippingCost = soup.select('.vi-fnf-ship-txt'):nth-of-type(1).text
shippingCost = soup.select('img.vi-fnf-ship-img span.vi-fnf-ship-txt strong.sh_gr_bld').text

谢谢。

==== 更新

我所做的是美化汤,但无济于事:

soup = BeautifulSoup(response.text, 'html.parser')
print(soup.prettify())

==== 新更新

我将漂亮的输出重定向到一个文件.txt并看到了代码。所以它肯定在那里,与上面有相同的标签。

该项的网址为:

https://www.ebay.com/itm/Mens-Legacy-Air-Bubble-90-Running-Trainers-Shoes/323806767262?_trkparms=ispr%3D1&hash=item4b6463289e:m:m_fYF4CZiE5Q9q08V38EY5w&enc=AQAEAAACQBPxNw%2BVj6nta7CKEs3N0qWNuu8y9VA2HEw0wmPsL5MTRFTJmnuraG452Pk3WQNpsgmrIf6ePIv561MkEiJV0pbFv9zmD1JW8JOdsIntwNXTFqw1McvYYqbaOR4YjsvuadL81czU45zEDv4c6pnAr%2FxMKDDYWViq81G9CPiJps3CAXKI8YcKTdUooXwBzpWHe0mCqp9WtgKcdyEUl85CxBxnYT7lC9lE%2BuZeNSfmbUfYMdiOxpjW8bZGX39SM8wagpyNHh79ILbJzX49%2BBpK0I11nzUm8xxnTPF53XqIKksC20%2BA0LHzrHYhV%2FwiuVk0Pb6t%2BUbTHPnUPbe%2B2OX4Pq8o8WvpergM0K2HXjzK2YOkP0M69O%2FjtCEpv22Gd0tP5MMLmsk4fuNxzQIADa2P199CYxynr76eLUr2u63alCb3heTTvPncuJzk02EGEdi38Nm%2BPcq2PTwjY1S%2F4mZ1ZolPl4lPxmfVr4gXrCaXfMExPYokV4FOmo46FJovcncwt4oHFjpSDCufOrbH4xcqrjfTRQ%2BigsxPaH5hWpzILfWTPNXbcIcaJRceFBFZrg8Ysa3oFuHEBgaBZKHRnZmWuFqPB%2B68WmqbZ1tunmg%2BXBKzGqLLfqnBWWw3qDXYr0V2AbALr73VLCeWzQIJzm0E0D%2FdB0KTn2YTHZzfD%2FrXYEUz2i19CwLG7SA8S9no0IFA16%2BpqE4G3s%2FE%2BAKFz3aQJZVpxSTc7Imy0CTF%2FjsA92yilzyIlsIeTc2AjaKy%2BTM%2Fjg%3D%3D&checksum=323806767262b0325dcc5d12405d9773312793615829&enc=AQAEAAACQBPxNw%2BVj6nta7CKEs3N0qWNuu8y9VA2HEw0wmPsL5MTRFTJmnuraG452Pk3WQNpsgmrIf6ePIv561MkEiJV0pbFv9zmD1JW8JOdsIntwNXTFqw1McvYYqbaOR4YjsvuadL81czU45zEDv4c6pnAr%2FxMKDDYWViq81G9CPiJps3CAXKI8YcKTdUooXwBzpWHe0mCqp9WtgKcdyEUl85CxBxnYT7lC9lE%2BuZeNSfmbUfYMdiOxpjW8bZGX39SM8wagpyNHh79ILbJzX49%2BBpK0I11nzUm8xxnTPF53XqIKksC20%2BA0LHzrHYhV%2FwiuVk0Pb6t%2BUbTHPnUPbe%2B2OX4Pq8o8WvpergM0K2HXjzK2YOkP0M69O%2FjtCEpv22Gd0tP5MMLmsk4fuNxzQIADa2P199CYxynr76eLUr2u63alCb3heTTvPncuJzk02EGEdi38Nm%2BPcq2PTwjY1S%2F4mZ1ZolPl4lPxmfVr4gXrCaXfMExPYokV4FOmo46FJovcncwt4oHFjpSDCufOrbH4xcqrjfTRQ%2BigsxPaH5hWpzILfWTPNXbcIcaJRceFBFZrg8Ysa3oFuHEBgaBZKHRnZmWuFqPB%2B68WmqbZ1tunmg%2BXBKzGqLLfqnBWWw3qDXYr0V2AbALr73VLCeWzQIJzm0E0D%2FdB0KTn2YTHZzfD%2FrXYEUz2i19CwLG7SA8S9no0IFA16%2BpqE4G3s%2FE%2BAKFz3aQJZVpxSTc7Imy0CTF%2FjsA92yilzyIlsIeTc2AjaKy%2BTM%2Fjg%3D%3D&checksum=323806767262b0325dcc5d12405d9773312793615829

运输部分中的免费'N FAST文本。

"诀窍"是在获取主页之前设置到英国的运输首选项:

import requests
from bs4 import BeautifulSoup
url = 'https://www.ebay.com/itm/Mens-Legacy-Air-Bubble-90-Running-Trainers-Shoes/323806767262?_trkparms=ispr%3D1&hash=item4b6463289e:m:m_fYF4CZiE5Q9q08V38EY5w&enc=AQAEAAACQBPxNw%2BVj6nta7CKEs3N0qWNuu8y9VA2HEw0wmPsL5MTRFTJmnuraG452Pk3WQNpsgmrIf6ePIv561MkEiJV0pbFv9zmD1JW8JOdsIntwNXTFqw1McvYYqbaOR4YjsvuadL81czU45zEDv4c6pnAr%2FxMKDDYWViq81G9CPiJps3CAXKI8YcKTdUooXwBzpWHe0mCqp9WtgKcdyEUl85CxBxnYT7lC9lE%2BuZeNSfmbUfYMdiOxpjW8bZGX39SM8wagpyNHh79ILbJzX49%2BBpK0I11nzUm8xxnTPF53XqIKksC20%2BA0LHzrHYhV%2FwiuVk0Pb6t%2BUbTHPnUPbe%2B2OX4Pq8o8WvpergM0K2HXjzK2YOkP0M69O%2FjtCEpv22Gd0tP5MMLmsk4fuNxzQIADa2P199CYxynr76eLUr2u63alCb3heTTvPncuJzk02EGEdi38Nm%2BPcq2PTwjY1S%2F4mZ1ZolPl4lPxmfVr4gXrCaXfMExPYokV4FOmo46FJovcncwt4oHFjpSDCufOrbH4xcqrjfTRQ%2BigsxPaH5hWpzILfWTPNXbcIcaJRceFBFZrg8Ysa3oFuHEBgaBZKHRnZmWuFqPB%2B68WmqbZ1tunmg%2BXBKzGqLLfqnBWWw3qDXYr0V2AbALr73VLCeWzQIJzm0E0D%2FdB0KTn2YTHZzfD%2FrXYEUz2i19CwLG7SA8S9no0IFA16%2BpqE4G3s%2FE%2BAKFz3aQJZVpxSTc7Imy0CTF%2FjsA92yilzyIlsIeTc2AjaKy%2BTM%2Fjg%3D%3D&checksum=323806767262b0325dcc5d12405d9773312793615829&enc=AQAEAAACQBPxNw%2BVj6nta7CKEs3N0qWNuu8y9VA2HEw0wmPsL5MTRFTJmnuraG452Pk3WQNpsgmrIf6ePIv561MkEiJV0pbFv9zmD1JW8JOdsIntwNXTFqw1McvYYqbaOR4YjsvuadL81czU45zEDv4c6pnAr%2FxMKDDYWViq81G9CPiJps3CAXKI8YcKTdUooXwBzpWHe0mCqp9WtgKcdyEUl85CxBxnYT7lC9lE%2BuZeNSfmbUfYMdiOxpjW8bZGX39SM8wagpyNHh79ILbJzX49%2BBpK0I11nzUm8xxnTPF53XqIKksC20%2BA0LHzrHYhV%2FwiuVk0Pb6t%2BUbTHPnUPbe%2B2OX4Pq8o8WvpergM0K2HXjzK2YOkP0M69O%2FjtCEpv22Gd0tP5MMLmsk4fuNxzQIADa2P199CYxynr76eLUr2u63alCb3heTTvPncuJzk02EGEdi38Nm%2BPcq2PTwjY1S%2F4mZ1ZolPl4lPxmfVr4gXrCaXfMExPYokV4FOmo46FJovcncwt4oHFjpSDCufOrbH4xcqrjfTRQ%2BigsxPaH5hWpzILfWTPNXbcIcaJRceFBFZrg8Ysa3oFuHEBgaBZKHRnZmWuFqPB%2B68WmqbZ1tunmg%2BXBKzGqLLfqnBWWw3qDXYr0V2AbALr73VLCeWzQIJzm0E0D%2FdB0KTn2YTHZzfD%2FrXYEUz2i19CwLG7SA8S9no0IFA16%2BpqE4G3s%2FE%2BAKFz3aQJZVpxSTc7Imy0CTF%2FjsA92yilzyIlsIeTc2AjaKy%2BTM%2Fjg%3D%3D&checksum=323806767262b0325dcc5d12405d9773312793615829'
set_ship_to_url = 'https://www.ebay.com/gh/setuserpreference'
with requests.session() as s:
r = s.post(set_ship_to_url, json={"userPreferedCountry":"GBR"}) # <-- set Ship To preference to United Kingdom
soup = BeautifulSoup(s.get(url).content, 'html.parser')
print(soup.select_one('strong.sh_gr_bld').text)

指纹:

FAST 'N FREE

最新更新