0
私はPythonの初心者です。 私はYelpを練習するために自分のWebクローラーを作りました。Webクローラー--- TypeError:Unicodeに強制する:必要な文字列またはバッファー、NoneTypeが見つかりました
私はこのエラーを取得し、最初のページを乗り越えることができないように保つ:ここ
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 26, in yelpSpider
TypeError: coercing to Unicode: need string or buffer, NoneType found
は私のコードです:
import requests
from BeautifulSoup import BeautifulSoup
def yelpSpider(maxPages):
page = 0
listURL = []
listRATE = []
listAREA = []
listADDRESS = []
listType = []
while page <= maxPages:
url = 'https://www.yelp.com/search?find_desc=Restaurants&find_loc=Manhattan,+NY&start=0' + str(page)
sourceCode = requests.get(url)
plainText = sourceCode.text
soup = BeautifulSoup(plainText)
for bizName in soup.findAll('a',{'class':'biz-name js-analytics-click'}):
href = 'https://www.yelp.com.com' + bizName.get('href')
listURL.append(href)
for rating in soup.findAll('img',{'class':'offscreen'}):
stars = rating.get('alt')
listRATE.append(stars)
for area in soup.findAll('span',{'class':'neighborhood-str-list'}):
listAREA.append(area.string)
for type in soup.findAll('span',{'class':'category-str-list'}):
listType.append(type)
for tracker in range(int(page),int(page) + 10):
print(listURL[tracker])
print(' ')
print(listAREA[tracker] + ' | ' + listRATE[tracker])
page += 10
yelpSpider(20)
感謝あなたの助けをあなたに!
の変更のように、最後の印刷に変更されます実行し、印刷する前に、あなたのlistRATEを修正することです: ' format(listAREA [tracker]、listRATE [tracker])) 'print(' {} | {} ' –