Python MYSQL'ascii'编解码器无法在位置10-25处编码字符:序数不在范围内(128)

康斯坦丁·鲁萨诺夫(Konstantin Rusanov)

我正在尝试解析一个俄语网站(西里尔文)并将数据插入到mySQL DB中。解析很好,但是由于西里尔字母,我无法将数据保存在DB中。Python给我这个错误:

Traceback (most recent call last):
  File "/Users/kr/PycharmProjects/education_py/vape_map.py", line 40, in <module>
    print parse_shop_meta()
  File "/Users/kr/PycharmProjects/education_py/vape_map.py", line 35, in parse_shop_meta
    VALUES (%s, %s, %s, %s)""",(shop_title, shop_address, shop_phone, shop_site, shop_desc))
  File "/Library/Python/2.7/site-packages/MySQLdb/cursors.py", line 210, in execute
    query = query % args
TypeError: not all arguments converted during string formatting

我的代码:

# -- coding: utf-8 --
import requests
from lxml.html import fromstring
import csv
import MySQLdb


db = MySQLdb.connect(host="localhost", user="root", passwd="***", db="vape_map", charset='utf8')

def get_shop_urls():
    i = 1
    all_shop_urls = []
    while i < 2:
        url = requests.get("http://vapemap.ru/shop/?city=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&page={}".format(i))
        page_html = fromstring(url.content)
        shop_urls = page_html.xpath('//h3[@class="title"]/a/@href')
        all_shop_urls += shop_urls
        i +=1
    return all_shop_urls

def parse_shop_meta():
    shops_meta = []
    csvfile = open('vape_shops.csv', 'wb')
    writer = csv.writer(csvfile, quotechar='|', quoting=csv.QUOTE_ALL)
    cursor = db.cursor()
    for shop in get_shop_urls():
        url = requests.get("http://vapemap.ru{}".format(shop), 'utf-8')
        page_html = fromstring(url.content)
        shop_title = page_html.xpath('//h1[@class="title"]/text()')
        shop_address = page_html.xpath('//div[@class="address"]/text()')
        shop_phone = page_html.xpath('//div[@class="phone"]/a/text()')
        shop_site = page_html.xpath('//div[@class="site"]/a/text()')
        shop_desc = page_html.xpath('//div[@class="shop-desc"]/text()')
        sql = """INSERT INTO vape_shops(title, address, phone, site, description)
            VALUES (%s, %s, %s, %s)""",(shop_title, shop_address, shop_phone, shop_site, shop_desc)
        cursor.execute(sql, (shop_title[0], shop_address[0], shop_phone[0], shop_site[0], shop_desc[0]))
        db.commit()
    db.close()
    return shops_meta

print parse_shop_meta()
里克·詹姆斯

%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0是的编码Москва,因此看起来不错。但是,您还需要确定将utf8用于与MySQL的连接。并指定目标列为CHARACTER SET utf8

更多详细信息特定于Python的信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 3.4.0-'ascii'编解码器无法在位置11-15处编码字符:序数不在范围内(128)-Unix 14.04

来自分类Dev

Python eyed3 UnicodeEncodeError:'ascii'编解码器无法在位置17编码字符u'\ xe9':序数不在范围内(128)

来自分类Dev

UnicodeEncodeError:“ ascii”编解码器无法在位置0-2处编码字符:Python不在序数范围(128)中

来自分类Dev

UnicodeEncodeError:'ascii'编解码器无法在位置0-5处编码字符:序数不在范围内(128)

来自分类Dev

UnicodeEncodeError:'ascii'编解码器无法在位置15564处编码字符u'\ u2018':序数不在范围内(128)

来自分类Dev

UnicodeEncodeError:'ascii'编解码器无法在位置0-3处编码字符:序数不在范围内(128)?

来自分类Dev

/ notifications / ajax /'ascii'编解码器处的UnicodeEncodeError无法编码字符:序数不在范围内(128)

来自分类Dev

UnicodeEncodeError:'ascii'编解码器无法在位置54编码字符u'\ xe9':序数不在范围内(128)

来自分类Dev

UnicodeEncodeError:'ascii'编解码器无法在位置47编码字符u'\ u2019':序数不在范围内(128)

来自分类Dev

'ascii'编解码器无法在位置5编码字符u'\ u2019':序数不在范围内(128)错误

来自分类Dev

UnicodeEncodeError:'ascii'编解码器无法在位置34编码字符u'\ u201c':序数不在范围内(128)

来自分类Dev

'ascii'编解码器无法在位置9编码字符u'\ u2013':序数不在范围内(128)

来自分类Dev

'ascii'编解码器无法在位置19编码字符u'\ u2013':序数不在范围内(128)

来自分类Dev

Linux只有'ascii'编解码器无法在位置3编码字符u'\ u0161':序数不在范围内(128)

来自分类Dev

Django-Postgres-'ascii'编解码器无法在位置0编码字符u'\ xa0':序数不在范围内(128)

来自分类Dev

如何在Python中修复“ UnicodeEncodeError:'ascii'编解码器无法在位置3656编码字符u'\ xa0':序数不在范围(128)中”的错误

来自分类Dev

Python3 'ascii' 编解码器无法对位置 135-136 中的字符进行编码:序号不在范围内 (128)

来自分类Dev

Python urllib 'ascii' 编解码器无法对位置 5 中的字符 '\u2757' 进行编码:序号不在范围内 (128)

来自分类Dev

如何修复Python错误“”'ascii'编解码器无法解码位置364的字节0xc2:序数不在范围内(128)“

来自分类Dev

Python DBF:“ ascii”编解码器无法解码位置6的字节0xf6:序数不在范围内(128)

来自分类Dev

Python:UnicodeDecodeError:'ascii'编解码器无法解码位置0的字节0xd0:序数不在范围内(128)

来自分类Dev

Python错误“ ascii”编解码器无法解码位置11的字节0x90:序数不在范围内(128)”

来自分类Dev

(python / boto sqs)UnicodeDecodeError:'ascii'编解码器无法解码位置5的字节0xc3:序数不在范围内(128)

来自分类Dev

HDInsight群集中具有火花结果编码错误'ascii'编解码器的UTF-8文本无法在位置编码字符:序数不在范围内(128)

来自分类Dev

HDInsight群集中具有火花结果编码错误'ascii'编解码器的UTF-8文本无法在位置编码字符:序数不在范围内(128)

来自分类Dev

UnicodeDecodeError:'ascii'编解码器无法解码字节...位置...序数不在范围内(128)

来自分类Dev

UnicodeEncodeError:“ ascii”编解码器无法对位置0-2处的字符进行编码:序数不在范围内(128)

来自分类Dev

在python的图像中插入波斯文字,UnicodeEncodeError:“ latin-1”编解码器无法在位置0-4处编码字符:序数不在范围内(256)

来自分类Dev

“ascii”编解码器无法在位置 9 中对字符“\xc9”进行编码:序号不在范围内(128)

Related 相关文章

  1. 1

    Python 3.4.0-'ascii'编解码器无法在位置11-15处编码字符:序数不在范围内(128)-Unix 14.04

  2. 2

    Python eyed3 UnicodeEncodeError:'ascii'编解码器无法在位置17编码字符u'\ xe9':序数不在范围内(128)

  3. 3

    UnicodeEncodeError:“ ascii”编解码器无法在位置0-2处编码字符:Python不在序数范围(128)中

  4. 4

    UnicodeEncodeError:'ascii'编解码器无法在位置0-5处编码字符:序数不在范围内(128)

  5. 5

    UnicodeEncodeError:'ascii'编解码器无法在位置15564处编码字符u'\ u2018':序数不在范围内(128)

  6. 6

    UnicodeEncodeError:'ascii'编解码器无法在位置0-3处编码字符:序数不在范围内(128)?

  7. 7

    / notifications / ajax /'ascii'编解码器处的UnicodeEncodeError无法编码字符:序数不在范围内(128)

  8. 8

    UnicodeEncodeError:'ascii'编解码器无法在位置54编码字符u'\ xe9':序数不在范围内(128)

  9. 9

    UnicodeEncodeError:'ascii'编解码器无法在位置47编码字符u'\ u2019':序数不在范围内(128)

  10. 10

    'ascii'编解码器无法在位置5编码字符u'\ u2019':序数不在范围内(128)错误

  11. 11

    UnicodeEncodeError:'ascii'编解码器无法在位置34编码字符u'\ u201c':序数不在范围内(128)

  12. 12

    'ascii'编解码器无法在位置9编码字符u'\ u2013':序数不在范围内(128)

  13. 13

    'ascii'编解码器无法在位置19编码字符u'\ u2013':序数不在范围内(128)

  14. 14

    Linux只有'ascii'编解码器无法在位置3编码字符u'\ u0161':序数不在范围内(128)

  15. 15

    Django-Postgres-'ascii'编解码器无法在位置0编码字符u'\ xa0':序数不在范围内(128)

  16. 16

    如何在Python中修复“ UnicodeEncodeError:'ascii'编解码器无法在位置3656编码字符u'\ xa0':序数不在范围(128)中”的错误

  17. 17

    Python3 'ascii' 编解码器无法对位置 135-136 中的字符进行编码:序号不在范围内 (128)

  18. 18

    Python urllib 'ascii' 编解码器无法对位置 5 中的字符 '\u2757' 进行编码:序号不在范围内 (128)

  19. 19

    如何修复Python错误“”'ascii'编解码器无法解码位置364的字节0xc2:序数不在范围内(128)“

  20. 20

    Python DBF:“ ascii”编解码器无法解码位置6的字节0xf6:序数不在范围内(128)

  21. 21

    Python:UnicodeDecodeError:'ascii'编解码器无法解码位置0的字节0xd0:序数不在范围内(128)

  22. 22

    Python错误“ ascii”编解码器无法解码位置11的字节0x90:序数不在范围内(128)”

  23. 23

    (python / boto sqs)UnicodeDecodeError:'ascii'编解码器无法解码位置5的字节0xc3:序数不在范围内(128)

  24. 24

    HDInsight群集中具有火花结果编码错误'ascii'编解码器的UTF-8文本无法在位置编码字符:序数不在范围内(128)

  25. 25

    HDInsight群集中具有火花结果编码错误'ascii'编解码器的UTF-8文本无法在位置编码字符:序数不在范围内(128)

  26. 26

    UnicodeDecodeError:'ascii'编解码器无法解码字节...位置...序数不在范围内(128)

  27. 27

    UnicodeEncodeError:“ ascii”编解码器无法对位置0-2处的字符进行编码:序数不在范围内(128)

  28. 28

    在python的图像中插入波斯文字,UnicodeEncodeError:“ latin-1”编解码器无法在位置0-4处编码字符:序数不在范围内(256)

  29. 29

    “ascii”编解码器无法在位置 9 中对字符“\xc9”进行编码:序号不在范围内(128)

热门标签

归档