Python 如何使用URL中的不同数据刮取多个网站

Python 如何使用URL中的不同数据刮取多个网站,python,python-2.7,web-scraping,beautifulsoup,scrapinghub,Python,Python 2.7,Web Scraping,Beautifulsoup,Scrapinghub,我从一个网页上抓取了一些数据,在url的末尾有产品的id,它似乎重写了每一行的数据,就像它没有附加下一行的数据一样,我不知道到底发生了什么,如果我的第一个for是错误的,或者缩进,我以前在没有字典的情况下尝试过,它是附加的,但在同一行,我转置它,但没有按照我想要的那样工作,所以我这样做,现在它不附加下一行,请帮助 data_cols = [] cols = {'pro_header': [], 'pro_id': [], . . .

我从一个网页上抓取了一些数据,在url的末尾有产品的id,它似乎重写了每一行的数据,就像它没有附加下一行的数据一样,我不知道到底发生了什么,如果我的第一个for是错误的,或者缩进,我以前在没有字典的情况下尝试过,它是附加的,但在同一行,我转置它,但没有按照我想要的那样工作,所以我这样做,现在它不附加下一行,请帮助

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
应该是这样的(这只是数据的一个小表示):


我想标签是一个变量。若要附加此项,需要使用列表。
在代码顶部添加
labels=list()
作为全局变量。对于
数据也应该做同样的事情。

我想标签是一个变量。若要附加此项,需要使用列表。
在代码顶部添加
labels=list()
作为全局变量。对于
数据也应该做同样的事情。

您可以共享url吗?我认为访问数据API可能会更快/更容易…或者因为您正在抓取
标记,所以只需使用pandas来提取它。我不确定您的实际输出和所需输出之间有什么区别。他们看起来像samecan你可以共享url吗?我认为访问数据API可能会更快/更容易…或者因为您正在抓取
标记,所以只需使用pandas来提取它。我不确定您的实际输出和所需输出之间有什么区别。他们看起来一样
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