Web爬网导致错误:'ascii'编解码器无法编码字符

时间:2016-06-22 09:35:23

标签: python encoding web-crawler

我正在尝试从网站抓取链接并存储在文本文件中。我需要抓取大约1000个链接,但它会在大约24个链接上出错。我是网络爬行的新手,非常感谢你的帮助。

如果我删除了try:except语句,则会出错。 'ascii' codec can't encode character u'\u201c' in position 34: ordinal not in range

我已经尝试了所有其他类似的问题,这不是一个重复的问题。

fobj.write(link.text + "\n")

上面的一行给出了错误。

url = "https://tools.wmflabs.org/enwp10/cgi-bin/list2.fcgi?run=yes&projecta=Economics&namespace=&pagename=&quality=&importance=&score=&limit=1000&offset=1&sorta=Importance&sortb=Quality"
r = requests.get(url)
soup = BeautifulSoup(r.content, "lxml")
links = soup.findAll('a', href=True)
b = "https://en.wikipedia.org/"
fobj = open("file.txt", 'a')
fobj2 = open("links.txt", 'a')
for link in links:
    try:
        a = link["href"].encode('utf8')
        if b in a:
             fobj.write(link.text + "\n")
             fobj2.write(a + "\n")
    except:
        print("error")
fobj.close()
fobj2.close()

0 个答案:

没有答案