【发布时间】:2017-05-30 21:03:04
【问题描述】:
以下是代码:
for page in forumPages:
try:
req = Request(page, headers={'User-Agent': 'Mozilla/5.0'})
sock = urlopen(req).read().decode("utf-8-sig")
soup = BeautifulSoup(sock, 'html.parser')
pageThreads = soup.findAll('ol',{"class":"threads"})
print(len(pageThreads))
except Exception as ex:
pass
我收到错误消息
invalid start byte
如何解决异常,以便我可以有有效的文本来应用 SOUP。
执行urlopen(req).read() 会得到\xef\xbb\xbf<!DOCTYPE html PUBLIC ...
我正在尝试的页面是https://www.siasat.pk/forum/forumdisplay.php?22-Siasi-Discussion/page1
我尝试过申请this:
sock = urlopen(req).read().decode("utf-8-sig").encode("utf-8") 但异常是一样的
【问题讨论】:
-
我尝试应用解决方案,但异常是一样的
-
您遇到异常的无效起始字节在哪里?问题似乎不在代码的开头;但后来它可能不是有效的 utf-8。
-
166300 左右的文本中有一些有趣的开引号。试试
urlopen(req).read().decode("utf-8-sig","ignore")。 -
@alexis 解决方案有效
标签: python web-scraping