Ich schrieb eine Funktion, die Daten von einer Website für mehrere Postleitzahlen kratzt. Der Code funktioniert für die meisten Postleitzahlen, aber es gibt einige, bei denen ich einen unbekannten String Error bekomme.Getting "Unbekannte Zeichenfolge Fehler"
ist hier der Code, den ich in den Beiträgen Liste
import time
from datetime import date, timedelta
from bs4 import BeautifulSoup
import urllib2
from dateutil.parser import parse
import pandas as pd
import random
import os
url = 'https://www.sittercity.com/jobs/search?distance=50&&page=1&per_page=100000&search_strategy=babbysitting_job&&selected_facets%5Bnew_jobs%5D=true&sort=relevance&zipcode=94513'
soup = BeautifulSoup(urllib2.urlopen(url))
posts = [t.text for t in soup.find_all(class_ = "item posted-by")]
dates = [parse(item, fuzzy = True) for item in posts]
Der Fehler kommt aus dem 34. Punkt mit. Allerdings ist der Datentyp jedes Elements in der Liste gleich, daher bin ich verwirrt. Auch der 33. Eintrag in der Liste scheint zu funktionieren. Zum Beispiel:
Dies funktioniert: (?)
dates_single = parse(posts[32], fuzzy = True)
Aber dies bedeutet nicht
dates_single = parse(posts[33], fuzzy = True)
Hier sind die Werte der Beiträge [32] und Beiträge [33]
>>> posts[33]
u'Posted by April A. on 3/28/2016'
>>> posts[32]
u'Posted by Chandrika M. on 3/30/2016'
Ich lese die datetil.parser Dokumentation durch und keiner der "Unknown String Error" Anwendungsfälle scheint zu passen.
Können Sie die Werte von 'posts [32]' und 'posts [33]' posten? – gariepy
Ich habe sie einfach in meiner Frage – mangodreamz
gepostet. Also werde ich eine Vermutung riskieren ... 'dates_single()' nimmt 'April' in Beiträgen [33] auf und versucht, das zu einem Datum zu konvertieren! Was passiert, wenn Sie 'fuzzy' auf 'False' setzen? – gariepy