当前位置: 博客首页 >> Python >> 阅读正文

python抓取糗百信息并入库mysql

作者: 郑晓 分类: Python 发布于: 2013-12-24 17:19 浏览:11,528 评论(7)


这里抓取的页面是糗百的最近8小时糗事页面。感觉它的列表规则比较简单一些。学习pytho的urllib库基本操作与mysql的基础使用。 连接mysql使用的是mysql自家的connector。http://dev.mysql.com/doc/connector-python/en/index.html 环境win2003+python3.3代码如下。 #导入urllib、mysql和正则类库 import urllib.request import mysql.connector import re #设置要抓取的页面 url="<a href="http://www.qiushibaike.com/8hr/page/1">http://www.qiushibaike.com/8hr/page/1</a>" #模拟访问页面,抓取页面内容到page变量中 response=urllib.request.urlopen(url) page=response.read() #匹配糗事正文及图片的正则 p = re.compile(r'<div class="content" title="([\d\-\s:]+)">([^<]<em>(?=<br\/>[^<]+)</em>)<\/div>(?=\s<em><div class="thumb">\s</em><a[^>]+>\s<em>(<img[^>]+\/>)\s</em><\/a>\s*<\/div>)?') #对抓取的utf8的内容转为unicode 并执行匹配 将匹配结果放到resultlist列表。 resultlist = p.findall(page.decode('utf-8')) print(resultlist) #以下是数据库操作部分 #数据库连接配置字典 conn = {'host':'localhost', 'user':'root', 'password':'flake', 'database':'test'} #建立数据库连接 conn = mysql.connector.connect(**conn) #获得游标 cursor = conn.cursor() #插入数据库的sql 将内容中的换行符直接替换掉 insertSql = "insert into qiubai (dates, text, img) values (%s, replace(replace(%s,'\n',''),'\r',''), %s)" #执行批量插入操作 cursor.executemany(insertSql, resultlist) #关闭游标及数据库连接 cursor.close() conn.close() input() 如果内容中有图片的话也会抓取到图片标签。

python-urllib-mysql
       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/information-python-crawling-embarrassing-one-hundred-and-storage-mysql.html

python抓取糗百信息并入库mysql:目前有7 条留言

用户评论头像 基坑支护发表于 2014年02月21日 08:26[回复]

没看懂这个是什么意思?

    用户评论头像 郑晓发表于 2014年02月21日 08:55[回复]

    获取url的内容,然后正则找出当前页所有的糗事信息,再入库。 用正则写的麻烦了,后来发现用BeautifulSoup库更方面。

用户评论头像 温州夜网发表于 2014年01月28日 19:41[回复]

我的数据库老是出问题,不知道怎么回事

用户评论头像 胡超博客发表于 2014年01月09日 14:57[回复]

学习一下,关于python的博客好少啊

用户评论头像 NIkoes发表于 2014年01月05日 16:59[回复]

🙁 😛 很好很好

用户评论头像 意遇天空发表于 2014年01月03日 15:21[回复]

又是一个搞运维的啊。。。

用户评论头像 手表展示架发表于 2013年12月27日 21:09[回复]

python没用过,看来真要学习一下

发表评论

change vcode