冷年餻 冷年餻
关注数: 28 粉丝数: 305 发帖数: 4,323 关注贴吧数: 109
爬虫在输入数据库的时候出现问题 先放代码,如下 # -*- coding:utf-8 -*- from urllib import request from bs4 import BeautifulSoup import re import pymysql #解析URL def req(url): req = request.Request(url) req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36") resp = request.urlopen(req) soup = BeautifulSoup(resp,'html.parser') return soup #输出笑话内容 def qiushi(soup): jieguo = soup.findAll("div",{"class":"content"}) for jieguo_text in jieguo: print(jieguo_text.get_text()) return jieguo #生成下一页连接 def nextlink(soup): nextpage = soup.find('span',{'class':'next'}).parent nextlink = "http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.qiushibaike.com&urlrefer=a19307a17c249ca7bc21ea149ba23fad" + nextpage.get('href') return nextlink url = 'http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.qiushibaike.com%2Ftext%2F&urlrefer=4f3a49539a3e94d67fe30e602b0c57ad' soup = req(url) #解析连接 jieguo = soup.findAll("div",{"class":"content"}) for jieguo_text in jieguo: print(jieguo_text.get_text()) url = nextlink(soup) #生成下一页连接 connection = pymysql.connect(host='localhost', user='root', password='111111', db='test1', charset='utf8mb4') try: with connection.cursor() as cursor: for jieguo_text in jieguo: sql = "insert into `qiushibaike`(`neirong`) values(%s)" cursor.execute(sql,(jieguo_text,)) connection.commit() finally: connection.close(); 结果报错是: Traceback (most recent call last): File "D:\qiushibaike.py", line 49, in <module> cursor.execute(sql,(jieguo_text,)) File "D:\Program Files\Python35\lib\site-packages\pymysql\cursors.py", line 164, in execute query = self.mogrify(query, args) File "D:\Program Files\Python35\lib\site-packages\pymysql\cursors.py", line 143, in mogrify query = query % self._escape_args(args, conn) File "D:\Program Files\Python35\lib\site-packages\pymysql\cursors.py", line 118, in _escape_args return tuple(conn.literal(arg) for arg in args) File "D:\Program Files\Python35\lib\site-packages\pymysql\cursors.py", line 118, in <genexpr> return tuple(conn.literal(arg) for arg in args) File "D:\Program Files\Python35\lib\site-packages\pymysql\connections.py", line 821, in literal return self.escape(obj, self.encoders) File "D:\Program Files\Python35\lib\site-packages\pymysql\connections.py", line 814, in escape return escape_item(obj, self.charset, mapping=mapping) File "D:\Program Files\Python35\lib\site-packages\pymysql\converters.py", line 27, in escape_item val = encoder(val, mapping) File "D:\Program Files\Python35\lib\site-packages\pymysql\converters.py", line 110, in escape_unicode return u"'%s'" % _escape_unicode(value) File "D:\Program Files\Python35\lib\site-packages\pymysql\converters.py", line 73, in _escape_unicode return value.translate(_escape_table) TypeError: 'NoneType' object is not callable 目前是可以输出笑话的,但是想把笑话存到mysql里,就会出现上面的报错。有大神能指点一下哪里错了么
首页 1 2 下一页