Обновление
Я сейчас использую этот код
from bs4 import BeautifulSoup
import requests
res=requests.get("https://www.ebay.co.uk/sch/i.html?_from=R40&_nkw=Playstation+1&_sacat=0&_pgn=1")
soup=BeautifulSoup(res.text,'html.parser')
for item,price in zip(soup.select('.lvtitle>a'),soup.select('.lvprice.prc >span')):
print(item.text + " : " + price.text.strip())
Он выводит цены и названия продуктов в действительно хорошем, удобном для чтения формате, но этовыводить его в порядке, отличном от того, как они отображаются на eBay.
Первые четыре вывода, которые дает скрипт,
(1) SONY PLAYSTATION 1 PS1 КОНСОЛЬ / Проверенная работа и контроллер / 3 БЕСПЛАТНЫХ ИГРЫ: £28,75 (2) Playstation 1 с играми, включая сбои: £ 20,00
(3) Оригинальный комплект Sony Playstation 1: £ 29,99
(4) Sony Playstation 1 PS1 Консоль, набор рабочих мест, AV TV Ведущий: £ 26,99
Но первые четыре элемента на eBay:
(1) SONY PLAYSTATION 1 PS1 КОНСОЛЬ / Протестированная работа и контроллер / 3 БЕСПЛАТНЫХ ИГРЫ £ 28,75 (2) Sony Playstation 1 PS1 Консоль Bundle Joblot AV TV Lead £ 26,99 (3)Консоль Sony Playstation 1 PS1 PSONE и ТВ-лидер AV TESTED WORKING £ 29.99 (4) НОВЫЙ СПИСОК Консоль Sony Playstation PS1 в штучной упаковке, 2 контроллера, 2 карты памяти, оригинальная демонстрация £ 44.99
Илиiginal Вопрос
Я хочу, чтобы веб-скребок нашел названия продуктов и цены на все 50 продуктов на странице - https://ebay.co.uk/sch/i.html?_from=R40&_nkw=Playstation+1&_sacat=0&_pgn=1
Я запустил этот код -
for post in soup.select("h3"):
print (post)
- и здесь был вывод (было больше вывода, который я не включил).
<h3 class="header">Please enable JavaScript </h3>
<h3>Format</h3>
<h3 class="lvtitle"><a class="vip" href="https://www.ebay.co.uk/itm/SONY-PLAYSTATION-1-PS1-CONSOLE-Tested-Working-Controller-3-FREE-GAMES/303195399469?_trkparms=ispr%3D1&hash=item4697daa52d:g:K4YAAOSwJmVZ3Ly2&enc=AQAEAAACMBPxNw%2BVj6nta7CKEs3N0qWwG%2FRu4GnzgljVwFYrAPzHjWoiQBIVRFaiPx%2BTZTxK4PBmFSLjHJych5RmooPO%2Fk9I2FqbhK%2BiSCw84S6G5mJqoWRKrmMjE24xQXLI5Tq6prSXt%2Fl5%2BXX5BIj4WcnTSRw8zPLA8umy3NNPbVTyoK8Ir4SgF685KWrEZByct3cX%2FNqc5BQAFj8A46XUhzSY5c6E7GenyGTc%2FEQDW5amzX8BGDa7T0srwIlbSRcuyfaQ%2B0SLD7yDUsYuTxD215mWHQ3jGZserqtWLuVuoXoidgYghdc%2F0t1zF8W%2BTfcz9BxPYvkonPcOijxgbVEK9QVdgsAWHkf0Xgbg%2Fy2bfe2AEykNv3gKXGeFt4HUHjWXFmokHvVMEi8x8W0NNos1x%2FEs%2FCWDq5oOKte%2F5eQ0UNX9mSQ%2BFdS5KVwemULfk807XdSPQ8Rt7fWuLyo1r7L8GGKuYDzb7F4UyzwI5Cl5x72C8%2FJuRTurvboTtjX8kZWYSf5WWRZlwXi1EL%2B6K2hE%2FzAKMcMZ8MGjisTFsR%2BWOimlOQeDKp4HFR3sJXEestKuiLVqeXmxoqaa9SWAzyZLvH0r5JUN6rnNSm9UExRp8PyErBnwBfHEVo2G%2F9PfiXtWn2R4GkAm%2FPHmoNI5dhtupubDkXxI9br7BwNkH9pWSquGHJuDAVoASmL0moQcpUugV4esefKd18ts8akZJ%2FF9GeAONB4ddDGNMu%2F210tqZBtccy44&checksum=30319539946988b1b8ad12ae4011b4e5140cdaa5677a" title="Click this link to access SONY PLAYSTATION 1 PS1 CONSOLE / Tested Working & Controller / 3 FREE GAMES">SONY PLAYSTATION 1 PS1 CONSOLE / Tested Working & Controller / 3 FREE GAMES</a>
</h3>
<h3 class="lvtitle"><a class="vip" href="https://www.ebay.co.uk/itm/Playstation-1-With-Games-Including-Crash/303320348335?hash=item469f4d36af:g:6y0AAOSwE91do1~a" title="Click this link to access Playstation 1 With Games Including Crash">Playstation 1 With Games Including Crash</a>
</h3>
<h3 class="lvtitle"><a class="vip" href="https://www.ebay.co.uk/itm/SONY-PLAYSTATION-1-PS1-CONSOLE-Tested-Working-Controller-3-FREE-GAMES/303195399469?hash=item4697daa52d:g:K4YAAOSwJmVZ3Ly2" title="Click this link to access SONY PLAYSTATION 1 PS1 CONSOLE / Tested Working & Controller / 3 FREE GAMES">SONY PLAYSTATION 1 PS1 CONSOLE / Tested Working & Controller / 3 FREE GAMES</a>
</h3>
Код -
title="Click this link to access SONY PLAYSTATION 1 PS1 CONSOLE / Tested Working & Controller / 3 FREE GAMES">SONY PLAYSTATION 1 PS1 CONSOLE / Tested Working & Controller / 3 FREE GAMES</a>
</h3>
- появляется дважды.
Но, если он появляется два раза, значение href отличается. На eBay этот элемент появляется вверху списка, поэтому мне нужно как-то переписать код, чтобы он сохранил первый экземпляр, но избавился от второго. Я действительно не знаю, с чего начать с решения проблемы, я не знаю, какие эксперименты я могу сделать.