gpt4 book ai didi

python - 如何抓取多个网址中具有不同数据的网站

转载 作者:行者123 更新时间:2023-12-01 06:58:00 25 4
gpt4 key购买 nike

我正在从网页中抓取一些数据,其中网址末尾有产品的 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

应该是这样的(这只是数据的一小部分):

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

最佳答案

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

关于python - 如何抓取多个网址中具有不同数据的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58724913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com