2017-12-05 13 views
0

私は、データを含むいくつかの列を含むCSVを持っています.15番目の列はURLのリストを報告します。今度は、列から各URLを選択し、ターゲットWebページから新しい価格を掻き集め、価格を更新して価格を更新する必要があります。CSVによって提供されるスクレイプURL

同じ列の列挙がなければ、ここでのおおよそのCSVです:

以下
asin,title,product URL,price 
KSKFUSH01,Product Title,http://....,56.00 

は、私が書いたサンプルコードですが、それだけで印刷物のURL :(

import csv 

with open('some.csv', 'r') as csv_file: 
csv_reader = csv.reader(csv_file) 

for line in csv_reader: 
    print(line[15]) 

すべてのヘルプまたは約提案この目標を達成するには

ありがとう

+0

サンプルURLはありますか? BeautifulSoupを探してみることをお勧めします – Usernamenotfound

+0

こんにちはチュートリアルはすばらしく見えますが、これはサンプルURLです:https://www.amazon.it/dp/B006H9B6XI、しかし基本的に私はcsvファイルから各URLをどのように読むのかわかりません – Stew

+0

csv適切な名前の列がある場合は、各行をコンマで区切ってURLを抽出できます。 –

答えて

1

csvライターを使いたいと思うようです。各行のURLにアクセスできます。新しい価格を書く方法は次のとおりです。

import csv 
import urllib2 
from bs4 import BeautifulSoup 
with open('some.csv', 'r') as csv_file: 
csv_reader = csv.reader(csv_file) 

with open('newPricedata.csv', 'w', newline='') as Newcsvfile: 
Pricewriter = csv.writer(Newcsvfile, delimiter=' ', 
         quotechar='|', quoting=csv.QUOTE_MINIMAL) 
for line in csv_reader: 
page = urllib2.urlopen(line[15]) 
soup = BeautifulSoup(page, ‘html.parser’) 
price = soup.find(‘td’, attrs={‘class’: ‘a-size-mini a-color-price ebooks-price-savings a-text-normal'}) 
Pricewriter.writerow(line[0]+','+,line[1]+','....+price.text) 
+0

私は文字列を分割できないようです – Stew

+0

私はあなたに役立ついくつかの基本的なコードで私の答えを更新しました。 –

+0

うわー!、でも同じCSVファイルに新しい価格を書くことができますか? – Stew