Я обнаружил, что ваш код, который пишет CSV работает нормально.Здесь он изолирован
import csv
vehicle = {'data-make': 'Buick',
'data-type': 'Sedan',
'data-location': 'Bronx',
}
price = '8000.00'
vin = '11040VDOD330C0D0D003'
link = 'https://www.necarconnection.com/someplace'
img_url = 'https://www.necarconnection.com/image/someimage'
comment = 'Fine Car'
with open('necc-december.csv','w',newline='') as csv_file:
fieldnames = ['CLASSIFICATION','TYPE','PRICE','VIN',
'INDEX','LINK','IMG','DESCRIPTION']
writer = csv.DictWriter(csv_file,fieldnames=fieldnames)
writer.writeheader()
writer.writerow({
'CLASSIFICATION':vehicle['data-make'],
'TYPE':vehicle['data-type'],
'PRICE':price,
'VIN':vin,
'INDEX':vehicle['data-location'],
'LINK':link,
'IMG':img_url,
'DESCRIPTION':comment})
Создает штраф necc-de December.csv:
CLASSIFICATION,TYPE,PRICE,VIN,INDEX,LINK,IMG,DESCRIPTION
Buick,Sedan,8000.00,11040VDOD330C0D0D003,Bronx,https://www.necarconnection.com/someplace,https://www.necarconnection.com/image/someimage,Fine Car
Я думаю, что проблема в том, что код не находит никаких кнопок с class = 'next'
Чтобы запустить ваш код, мне пришлось инициализировать next_url
next_url = None
, а затем изменить ваше условие с
if next_url not in urls:
на
If next_url and next_url not in urls:
Я добавил отладку внутри вашего цикла for:
for button in soup.find_all('a',class_='pages'):
print ('button:', button)
и получил такой вывод:
button: <a class="pages current" data-page="1" href="javascript:void(0);">1</a>
button: <a class="pages" data-page="2" href="javascript:void(0);">2</a>
button: <a class="pages" data-page="3" href="javascript:void(0);">3</a>
button: <a class="pages" data-page="4" href="javascript:void(0);">4</a>
button: <a class="pages" data-page="5" href="javascript:void(0);">5</a>
button: <a class="pages" data-page="6" href="javascript:void(0);">6</a>
button: <a class="pages current" data-page="1" href="javascript:void(0);">1</a>
button: <a class="pages" data-page="2" href="javascript:void(0);">2</a>
button: <a class="pages" data-page="3" href="javascript:void(0);">3</a>
button: <a class="pages" data-page="4" href="javascript:void(0);">4</a>
button: <a class="pages" data-page="5" href="javascript:void(0);">5</a>
button: <a class="pages" data-page="6" href="javascript:void(0);">6</a>
Так что не было кнопок с class = 'next'.