ウェブサイトからデータを取り出すシンプルなコードを書いたが、すべての行をCSVファイルに保存するのに苦労している。完成したスクリプトは1行だけを保存します。これはループで最後に発生したものです。重要csvファイルへのパイピングデータのPython書込み
def get_single_item_data(item_url):
f= csv.writer(open("scrpe.csv", "wb"))
f.writerow(["Title", "Company", "Price_netto"])
source_code = requests.get(item_url)
soup = BeautifulSoup(source_code.content, "html.parser")
for item_name in soup.find_all('div', attrs={"id" :'main-container'}):
title = item_name.find('h1').text
prodDesc_class = item_name.find('div', class_='productDesc')
company = prodDesc_class.find('p').text
company = company.strip()
price_netto = item_name.find('div', class_="netto").text
price_netto = price_netto.strip()
#print title, company, ,price_netto
f.writerow([title.encode("utf-8"), company, price_netto, ])
これは私のスクリプト全体で同時列に
あなたのインデントを修正しましたが、あなたが予想していたもの、つまり一つのアイテムを正確に書くためには、id-main-container'が1つしかないと推測しています。 URLは何ですか? –
サンプル出力を投稿できますか?私はそれがあなたがそれを期待するときに改行ではないと思っています。 – Will
@Will、writerowは改行を追加するので、間違いはありません。 –