获取"未知字符串错误"

时间:2016-03-31 19:38:27

标签: python web-scraping python-dateutil

我编写了一个从网站上删除多个邮政编码数据的函数。该代码适用于大多数邮政编码,但有些地方我收到了未知字符串错误。

以下是我使用

的代码
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]

错误来自帖子列表中的第34项。但是列表中每个元素的数据类型是相同的,所以我很困惑。此外,列表中的第33项似乎也有效。例如:

这有效:

dates_single = parse(posts[32], fuzzy = True)

但这不是(?)

dates_single = parse(posts[33], fuzzy = True)

以下是帖子[32]和帖子[33]

的值
>>> posts[33]
u'Posted by April A. on 3/28/2016'
>>> posts[32]
u'Posted by Chandrika M. on 3/30/2016'

我通读了datetil.parser文档而没有读出" Unknown String Error"用例似乎很合适。

1 个答案:

答案 0 :(得分:4)

由于SSLVersions(检测为月份名称)和[sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2]被检测为月份号码之间发生冲突,因此发生错误。

最小例子:

April

由于您的格式定义明确,您可以简单地执行直接转换,而无需任何启发式。

3