2017-12-21 27 views
-1

オンラインチュートリアルに基づいていくつかのウェブスクレイピングコードを書いていますが、エラーが発生しています。私のコードは、オンラインにあるものとほぼ正確に一致しますが、まだエラーが発生しているようです。誰かが助けてくれますか?エラーの種類に基づいて、ファイル名とパスに関連しているようです。私はそこでさまざまな組み合わせを試みたが、まだエラーが発生しています。美味しいスープを使ったPythonのWebスクレイピングプログラムのエラー

下記のコードをコピーしました。

from urllib.request import urlopen as uReq 
from bs4 import BeautifulSoup as soup 

my_url = 'https://www.newegg.com/Video-Cards-Video-Devices/Category/ID-38?Tpk=graphics%20cards' 

uClient = uReq(my_url) 
page_html = uClient.read() 
uClient.close() 

page_soup = soup(page_html, "html.parser") 

containers = page_soup.finaAll("div", {"class":"item-container"}) 

filename = "C:\\Users\\_Alekhine_\\Python\\products.csv" 
f = open(filename, "w") 

headers = "brand, product_name, shipping\n" 
f.write(" ") 

for container in containers: 
    brand = container.div.div.a.img["title"] 

    title_container = container.findAll("a", {"class": "item-title"}) 
    product_name = title_container[0].text 

    shipping_container = container.findAll("li", {"class": "price-ship"}) 
    shipping = shipping_container[0].text.strip() 

    print("brand: " + brand) 
    print("product_name: " + product_name) 
    print("shipping: " + shipping) 

    f.write(brand + "" + product_name.replace(",", "") + "" + shipping + "\n") 

    f.close() 
+5

どのようなエラーが表示されますか?言いたいことが何か重要だと感じませんか? –

答えて

0

エラーを送信していないので、エラーの説明から、14行目に指定したパスが存在しないと仮定できます。書き込みモードであっても、ファイルのパスが存在しない場合、openは失敗します。ディレクトリC:\Users\_Alekhine_\Pythonを先に作成してみてください。

あなたは、Python(3.2以上)で行うことができます

import os 
os.makedirs(path, exist_ok=True) 

はところで、あなたのコードサンプルのタイプミスは、(ライン12はfindAllの代わりfinaAllする必要があります)もありますが、私はこれがあることを前提としていあなたが説明したエラーではありません。

+0

返事をありがとう。 Cドライブのパスは存在します。私が取得していたエラーメッセージは - TypeError: 'NoneType'オブジェクトは呼び出し可能ではありません。コードはCSVファイルを作成しています。再度、感謝します。 – user9116775

関連する問題