Je suis nouveau sur python. J'ai créé mon propre robot d'exploration Web qui est supposé racler Yelp pour la pratique.Web Crawler --- TypeError: coercing à Unicode: besoin de chaîne ou de tampon, NoneType trouvé
Je continue à obtenir cette erreur et ne peut pas sembler aller au-delà de la première page:
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
Voici mon code:
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)
Remerciez vous pour votre aide!
Modifier la dernière impression à: ' print ('{} | {}'. format (listAREA [tracker], listRATE [tracker])) ' –