2017-11-30 4 views
0

.csv 파일에서 링크를 병입 한 다음 각 링크에서 정보를 긁어내어 .csv의 다른 열에 쓸 수 있습니다. 나는 며칠 동안 내 머리를 긁적 거렸다. 다른 사람이 무엇이 잘못되었는지 여기에서 볼 수 있습니까? 이 오류는 BeautifulSoup()의 매개 변수 여야합니다 soup(Short) - POST 데이터는 바이트 또는 반복 가능한 바이트 여야합니다. str 형식이 될 수 없습니다.

def scrape_data(csv_file): 
writer = csv.writer(csv_file) 
reader = csv.reader(csv_file) 

for row in reader: 
    if row: 

     # THE ERROR HAPPENS AT THE SOUP OBJECT BELOW    

     soup = BeautifulSoup(urllib.request.urlopen(row[0], 'lxml')) 
     post_time = soup.find('time', {'class' : 'date timeago'})    
     sqfeet = (sqft.text for sqft in soup.find('span', {'class' : 'shared-line-bubble'})) 
     availability = (soup.find('span', {'class' : 'data-date'}))    
     attribute_group = (ag.text for ag in soup.find('p', {'class' : 'attrgroup'})) 
     address = (add.text for add in soup.find('div', {'class' : 'mapaddress'}))    

     for data in zip(post_time, sqfeet, availability, attribute_group, address): 
      writer.writerow(row[3]) 

답변

3

'lxml' 부분에서 발생하지만 urllib.request.urlopen()

의 매개 변수