Я перебираю csv ссылок, посещаю эти ссылки, а затем пытаюсь записать информацию из этих ссылок в новый файл:
with open("hrefs.csv", "rb") as f:
reader = csv.reader(f)
for row in reader:
newUrl = row[0]
response = requests.get(newUrl)
newData = response.text
newSoup = BeautifulSoup(newData, 'lxml')
newstring = ''
titles = newSoup.findAll('span', {'id': 'titletextonly'})
prices = newSoup.findAll('span', {'class': 'price'})
newstring += titles[0].text + ',' + prices[0].text + ','
for ana in newSoup.findAll('p',{'class':'attrgroup'}):
for myb in ana.findAll('b'):
newstring += myb.text + ','
print newstring
listFile = open("output.csv", 'wb')
writer = csv.writer(listFile)
writer.writerow(newstring.encode('ascii', 'ignore').decode('ascii'))
Есть пара проблем, с которыми я сталкиваюсь, Сначала , я думал, что CSV поймет, что есть значения, разделенные запятыми, и поместит каждый атрибут в новый столбец. Второй , кажется, что в каждом столбце помещается одна буква.Когда я просто print
каждый newstring
это дает мне связную строку.