Ребят, возникла ошибка по парсеру. пишет invali syntax. Помогите пожалуйста с кодом.
вот код:
Код:
## -*- coding: utf-8 -*-
# подключение библиотек
import requests
from bs4 import BeautifulSoup
import csv
def get_html(url):# получение url кода
r = requests.get(url)
return r.text
def get_total_pages(html):#считывание кол-ва страниц
soup = BeautifulSoup(html, 'lxml')
pages = soup.find('div', class_ = 'pagination-pages').find_all('a', class_='pagination-page')[-1].get('href')
total_pages = pages.split('=')[1].split('&')[0]
return int(total_pages)
def write_csv(data):
with open('avito.csv','a') as f:
writer= csv.writer(f)
writer.writerow( ( data['title'],
data['price'],
data['metro'],
data['data_tovara'],
data['opisanie'],
data['saller'],
data['url'] ))
def get_page_data(html):
soup = BeautifulSoup(html,'lxml')
ads = soup.find('div',class_='catalog-list').find_all('div',class_'item_table')
for ad in ads:
try:
title = ad.find('div',class_='discription').find('h3').text.strip()
except:
title =''
try:
url = 'https://www.avito.ru' + ad.find('div',class_='discription').find('h3').find('a').get('href')
except:
url = ''
try:
price = ad.find('div',class_='about').text.strip()
except:
price = ''
try:
metro = ad.find('div',class_='data').find_all('p')[-1].text.strip()
except:
metro = ''
try:
data_tovara = ad.find('div', class_='data').find('div',class_='clearfix').find('div',class_='data c-2').text.strip()
except:
data_tovara = ''
try:
opisanie = ad.find('div',class_='item-view-block').find('p').text.strip()
except:
opisanie = ''
try:
saller = ad.find('div',class_='seller-info-name')find('a').text.strip()
except:
saller = ''
data = {'title':title,
'price':price,
'metro':metro,
'url':url,
'data_tovara':data_tovara,
'opisanie',opisanie,
'saller':saller}
write_csv(data)
def main():
#https://www.avito.ru/novosibirsk?p=1&q=iphone+5s
url = 'https://www.avito.ru/novosibirsk?p=1&q=iphone+5s'
base_url = 'https://www.avito.ru/novosibirsk?'
page_part = 'p='
query_part = '&q=iphone+5s'
total_pages = get_total_pages(get_html(url))
for i in range(1, total_pages):
url_gen = base_url + page_part + str(i) + query_part
#print(url_gen)
html = get_html(url_gen)
get_page_data(html)
if __name__ == '__main__':
main()
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.