Я написал простой скрипт, чтобы изучить, как работать с Python.Я выбрал этот URL: https://www.ebay.co.uk/b/Mens-Coats-Jackets/57988/bn_692010
На странице 48 элементов, и каждый элемент содержит информацию о бренде, стиле и т. Д., Кроме 16-го, и мой код останавливается, когда дело доходит до 16-го.Поэтому мой вопрос заключается в том, как я могу продолжить этот цикл или как передать эти детали.Вот мой код ниже:
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'https://www.ebay.co.uk/b/Mens-Coats-Jackets/57988/bn_692010'
#opening up connection, grabbing the page
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
# html parsing
page_soup = soup(page_html, 'html.parser')
#grabs each product
containers = page_soup.findAll('div',{'class':'s-item__wrapper clearfix'})
filename = 'ebayproducts1.csv'
f = open(filename, 'w+')
headers = 'product_name, item_price, item_style, shipping_detail\n'
f.write(headers)
contain = containers[0]
container = containers[0]
for container in containers:
product_name = container.h3.text
item_details_container = container.findAll('div',{'class':'s-item__details clearfix'})
item_price = item_details_container[0].div.text
item_style = item_details_container[0].findAll('span',{'class':'s-item__detail s-item__detail--secondary'})[0].text
shipping_detail = item_details_container[0].findAll('span',{'class':'s-item__shipping s-item__logisticsCost'})[0].text
print('product_name: '+ product_name)
print('item_price: ' + item_price)
print('item_style: ' + item_style)
print('shipping_detail: ' + shipping_detail)
f.write("%s,%s,%s,%s\n" %( product_name, item_price, item_style, shipping_detail))