The code below only scrapes some of the prices in the given page, how will I scrape every price in the given page.
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.jumia.com.ng/phones-tablets/samsung/?q=samsung+a10')
soup = BeautifulSoup(r.text, 'html.parser')
content = soup.select('article.prd')
for article in content:
price = article.find('div', class_='prc')
print(price)
This is the result of the code. If you notice the last sets of div returned are empty and they are not empty in the webpage, how will I go about it?
<div class="prc">₦ 49,990</div>
<div class="prc">₦ 51,990</div>
<div class="prc">₦ 53,800</div>
<div class="prc">₦ 3,000</div>
<div class="prc">₦ 74,500</div>
<div class="prc">₦ 3,150</div>
<div class="prc">₦ 3,200</div>
<div class="prc">₦ 38,990</div>
<div class="prc">₦ 3,800</div>
<div class="prc">₦ 1,450</div>
<div class="prc">₦ 2,500</div>
<div class="prc">₦ 4,000</div>
<div class="prc">₦ 2,000</div>
<div class="prc">₦ 3,500</div>
<div class="prc">₦ 3,500</div>
<div class="prc">₦ 4,500</div>
<div class="prc">₦ 3,500</div>
<div class="prc">₦ 7,000</div>
<div class="prc">₦ 13,500</div>
<div class="prc">₦ 4,500</div>
<div class="prc">₦ 3,850</div>
<div class="prc">₦ 3,500</div>
<div class="prc">₦ 3,300</div>
<div class="prc">₦ 7,500</div>
<div class="prc">₦ 3,999</div>
<div class="prc">₦ 3,500</div>
<div class="prc">₦ 3,850</div>
<div class="prc">₦ 59,900</div>
<div class="prc">₦ 3,999</div>
<div class="prc">₦ 5,490</div>
<div class="prc">₦ 2,850</div>
<div class="prc">₦ 80,910</div>
<div class="prc">₦ 59,999</div>
<div class="prc">₦ 3,800</div>
<div class="prc">₦ 80,910</div>
<div class="prc">₦ 75,500</div>
<div class="prc">₦ 91,500</div>
<div class="prc">₦ 78,500</div>
<div class="prc">₦ 60,000</div>
<div class="prc">₦ 60,000</div>
<div class="prc"></div>
<div class="prc"></div>
<div class="prc"></div>
<div class="prc"></div>
<div class="prc"></div>
<div class="prc"></div>
<div class="prc"></div>
<div class="prc"></div>
The products without prices are sponsored products. This content is loaded dynamically via Javascript, so BeautifulSoup doesn't see it. You can use this script that will load normal AND sponsored products:
import re
import json
import requests
from bs4 import BeautifulSoup
url = 'https://www.jumia.com.ng/phones-tablets/samsung/?q=samsung+a10'
with requests.session() as s:
data = json.loads(re.search(r'window.__STORE__=({.*?});', s.get(url).text).group(1))
# uncomment this to print all data:
# print(json.dumps(data, indent=4))
for product in data['products']:
print('{:<10} {}'.format(product['prices']['price'], product['name']))
print('\n * * * SPONSORED: * * *\n')
soup = BeautifulSoup(s.get('https://www.jumia.com.ng' + data['sponsoredUrl']).content, 'html.parser')
data = json.loads( soup.select_one('[data-products-spon]')['data-products-spon'] )
for product in data:
print('{:<10} {}'.format(product['prices']['price'], product['name']))
Prints:
₦ 49,990 Galaxy A10s 6.2-Inch (2GB,32GB ROM) Android 9.0, (13MP+2MP)+ 8MP Dual SIM 4000mAh 4G LTE Smartphone - Black
₦ 51,990 Galaxy A10s 6.2-Inch (2GB RAM, 32GB ROM) Android 9.0 Pie,(13MP+2MP)+8MP,4G LTE, Fingerprint Dual Sim Smartphone - Black
₦ 53,800 Galaxy A10s 6.2-Inch (2GB RAM, 32GB ROM) - (13MP + 2MP) + 8MP, 4000 MAh 4G LTE, Fingerprint - BLUE
₦ 3,000 A10S Flip Stand Clear View Case+screen Guard - Black
₦ 74,500 Galaxy A10s 6.2-Inch (2GB,32GB ROM) Android 9.0, (13MP+2MP)+ 8MP Dual SIM 4000mAh 4G LTE Smartphone - Black
₦ 3,150 Galaxy A10s Flip Stand Clear View Case
₦ 3,200 Galaxy A10 Case Luxury Silicone Black
₦ 38,990 A10e Mobile Phone Samsung Exynos 7884 5.83" 2GB 32GB 3000mAh Battery 8.0MP Rear Camera Smartphone
₦ 3,800 Fast Charger And USB Cable For Galaxy Note4,Note Edge,Galaxy Note5,S6,S6edge,S6edge+,S7,S7edge,S8,Galaxy A10,A20,A30
₦ 1,450 Galaxy A10/A20/A30/A50/A70/ 5D Display Screen Protector
₦ 2,500 Galaxy A10/A20/A30/A50/A70/ 5D Display Screen Protector
₦ 4,000 Galaxy A10s Case Luxury Silicone Black
₦ 2,000 Protector For Samsung Galaxy A10/A20/A30/A50/A70
₦ 3,500 A10S Flip Stand Clear View Case
₦ 3,500 A10 Silicone Back Case - Red
₦ 4,500 Galaxy A10 Case Luxury Silicone Black
₦ 3,500 Galaxy A10 Case Luxury Silicone Black - Black
₦ 7,000 Galaxy A10 Silicon Pouch Red
₦ 13,500 Galaxy A10 Clear View Pouch Black
₦ 4,500 Galaxy A10s Tempered Glass (2 PC's)
₦ 3,850 A10S Silicone Back Case - Black
₦ 3,500 Galaxy A10s Case Luxury Silicone Black
₦ 3,300 Galaxy A10 Case Luxury Silicone Black
₦ 7,500 A10S Flip Stand Clear View Case+screen Guard - Black
₦ 3,999 A10 Flip Stand Clear View Case- Black
₦ 3,500 A10 Silicone Back Case - Black
₦ 3,850 A10S Silicone Back Case - Black
₦ 59,900 Galaxy A10s 6.2-Inch (2GB,32GB ROM) Android 9.0, (13MP+2MP)+ 8MP Dual SIM 4000mAh 4G LTE Smartphone - Red (BF19)
₦ 3,999 A10S Flip Stand Clear View Case- Black
₦ 5,490 Galaxy A10s Clear View Case +Full Screen Glass
₦ 2,850 Charger Cord Cable For Samsung Galaxy A10E A50 A20 Note 10 S20 Plus Ultra 5G A51 A71,LG G7 G8 V40 V50 G9 V60 Thinq,G6,V30 V20,3A USB Type C Data Cable,Fast Charge Charging Phone Power Wire
₦ 80,910 GALAXY A10s (6.2'', 2GB/32GB, Andriod 9.0 Pie, 13MP+2MP Back Camera, 8MP Selfie Camera, 4000mAh, 4G - Blue
₦ 59,999 Galaxy A10s 6.2-Inch (2GB RAM, 32GB ROM) Android 9.0 Pie,(13MP+2MP)+8MP,4G LTE, Fingerprint Dual Sim Smartphone - Black
₦ 3,800 Galaxy A 10 Case
₦ 80,910 GALAXY A10s (6.2'', 2GB/32GB, Andriod 9.0 Pie, 13MP+2MP Back Camera, 8MP Selfie Camera, 4000mAh, 4G - Black
₦ 75,500 Galaxy A10s 6.2-Inches Screen Display Android 9.0 Dual Sim SmartPhone - 2GB RAM 32GB Internal Storage
₦ 91,500 Galaxy A10s 6.2-Inches Screen Display Android 9.0 Dual Sim SmartPhone - 2GB RAM 32GB Internal Storage
₦ 78,500 Galaxy A10s 6.2-Inch (2GB RAM, 32GB ROM) Android 9.0 Pie, (13MP + 2MP) + 8MP 4G LTE, Fingerprint Dual Sim - Blue
₦ 60,000 Galaxy A10s 6.2' (2GB RAM, 32GB ROM), 4000 MAh 4G LTE, Dual Sim Smartphone - Blue
₦ 60,000 Galaxy A10s 6.2' (2GB RAM, 32GB ROM), 4000 MAh 4G LTE, Dual Sim Smartphone - Black
* * * SPONSORED: * * *
₦ 2,790 Galaxy Fast Charger For S9 - White
₦ 65,000 Galaxy Note 10+/10plus S-view Flip Cover(sensor)
₦ 3,599 Galaxy Fast Adaptive Charger For Charging Samsung Phones
₦ 7,500 Galaxy A5 Replacement Battery
₦ 6,000 Bluetooth Neckband (NA08)
₦ 12,500 Galaxy Tab A, 8.0 Inch Guard-Full Edged Glass Protector
₦ 3,500 Galaxy S8+ Plus Silicone Back Case (Improved Version)
₦ 7,000 Galaxy S9 Plus Flip Standing Clear View Smart Cover
EDIT: Screenshot:
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.