2017-12-21 1 views
-1

온라인 자습서를 기반으로 일부 웹 스크래핑 코드를 작성했으며 오류가 발생했습니다. 내 코드는 온라인에있는 내용과 거의 일치하지만 여전히 오류가있는 것 같습니다. 누군가 제발 도와 줄 수 있어요. 오류 유형에 따라 파일 이름과 경로와 관련이있는 것으로 보입니다. 여러 가지 조합을 시도했지만 여전히 오류가 발생하고 있습니다.아름다운 스프를 사용하여 파이썬으로 웹 스크래핑하는 프로그램에서 오류가 발생했습니다.

아래 코드를 복사하십시오. 당신이 당신의 오류를 게시되지 않은 것처럼

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 디렉토리를 작성하십시오.

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

, BTW도 (12 대신 finaAllfindAll해야한다 선) 코드 샘플에 오타가있다,하지만 난이 있다고 가정 :

당신은 파이썬에서 그렇게 (3.2 이상)을 할 수있다 설명 된 오류가 아닙니다.

+0

답장을 보내 주셔서 감사합니다. C 드라이브의 경로가 존재합니다. 내가받은 오류 메시지는 다음과 같습니다. TypeError : 'NoneType'개체를 호출 할 수 없습니다. 이제 코드에서 CSV 파일을 만듭니다. 다시 한번 감사드립니다. – user9116775

관련 문제