Как удалить несколько сайтов с разными данными в URL - PullRequest
0 голосов
/ 06 ноября 2019

Я удаляю некоторые данные с веб-страницы, где в конце URL-адреса есть идентификатор продукта, и кажется, что он перезаписывает данные в каждой строке, как будто они не добавляются в данные из следующей строкине знаю точно, что происходит, если мой первый запрос неверен или отступ, я пытался раньше без словаря, и он добавлялся, но в той же строке, и я транспонировал его, но не работал так, как хотел, поэтому я сделалэто так и теперь он не добавляет следующие строки, помогите пожалуйста

data_cols = []
cols = {'pro_header': [],
        'pro_id': [],
        .
        .
        .
        'pro_uns5': []
        }
#the id for each product
fileID = open('idProductsList.txt', 'r')
proIDS = fileID.read().split()
for proID in proIDS:
    url = 'https:/website.com/mall/es/mx/Catalog/Product/' + proID
    html = urllib2.urlopen(url).read()
    soup = bs.BeautifulSoup(html , 'lxml')
    table = soup.find("table",{"class": "ProductDetailsTable"})
    rows = table.find_all('tr')
    for row in rows:
        labels.append(str(row.find_all('td')[0].text))
        try:
            data.append(str(row.find_all('td')[1].text))
        except IndexError:
            data.append('')

    cols['pro_header'].append(data[0])
    cols['pro_id'].append(data[1])
    .
    .
    .
    cols['pro_uns5'].append(data[43])
    df = pd.DataFrame(cols)
    df.set_index
    #df.reindex()
    df.to_csv('sample1.csv')

Фактический вывод:

pro_id  pro_priceCostumer   pro_priceData
1FK7011-5AK24-1AA3  " Mostrar precios
"   PM300:Producto activo
1FK7011-5AK24-1AA3  " Mostrar precios
"   PM300:Producto activo
1FK7011-5AK24-1AA3  " Mostrar precios
"   PM300:Producto activo

Должно быть что-то вроде этого (Этопросто небольшое представление данных) :

pro_id  pro_priceCostumer   pro_priceData
1FK7011-5AK24-1AA3  " Mostrar precios
"   PM300:Producto activo
1FK7011-5AK24-1JA3  " Mostrar precios
"   PM300:Producto activo
1FK7022-5AK21-1UA0  " Mostrar precios
"   PM300:Producto activo

1 Ответ

0 голосов
/ 06 ноября 2019

Я думаю, ярлыки работают как переменные. чтобы добавить это вам нужно использовать список. добавьте labels=list() вверху вашего кода в качестве глобальной переменной. То же самое должно быть сделано и для data.

...