2017-11-30 4 views
0

.csvファイルからリンクをフィードインし、各リンクから情報を抜き取り、.csvの他のカラムに書き込むだけです。私は数日間頭を掻いてきました。他の誰かがここに何が間違っているのを見ることができる?エラーがBeautifulSoup()のパラメータでなければなりませんsoup(短) - 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()

のパラメータであり、
関連する問題