當(dāng)前位置:博客首頁(yè)>>Python >> 閱讀正文

python抓取糗百信息并入庫(kù)mysql

作者: 鄭曉 分類: Python 發(fā)布于: 2013-12-24 17:19 瀏覽:10,950 評(píng)論(7)


這里抓取的頁(yè)面是糗百的最近8小時(shí)糗事頁(yè)面。感覺(jué)它的列表規(guī)則比較簡(jiǎn)單一些。學(xué)習(xí)pytho的urllib庫(kù)基本操作與mysql的基礎(chǔ)使用。
連接mysql使用的是mysql自家的connector。http://dev.mysql.com/doc/connector-python/en/index.html
環(huán)境win2003+python3.3代碼如下。

#導(dǎo)入urllib、mysql和正則類庫(kù)
import urllib.request
import mysql.connector
import re
#設(shè)置要抓取的頁(yè)面
url="http://www.qiushibaike.com/8hr/page/1"
#模擬訪問(wèn)頁(yè)面,抓取頁(yè)面內(nèi)容到page變量中
response=urllib.request.urlopen(url)
page=response.read()
#匹配糗事正文及圖片的正則
p = re.compile(r'

([^<]*(?=[^<]+)*)<\/div>(?=\s*

\s*]+>\s*(]+\/>)\s*<\/a>\s*<\/div>)?')
#對(duì)抓取的utf8的內(nèi)容轉(zhuǎn)為unicode 并執(zhí)行匹配 將匹配結(jié)果放到resultlist列表。
resultlist = p.findall(page.decode('utf-8'))
print(resultlist)
#以下是數(shù)據(jù)庫(kù)操作部分
#數(shù)據(jù)庫(kù)連接配置字典
conn = {'host':'localhost', 'user':'root', 'password':'flake', 'database':'test'}
#建立數(shù)據(jù)庫(kù)連接
conn = mysql.connector.connect(**conn)
#獲得游標(biāo)
cursor = conn.cursor()
#插入數(shù)據(jù)庫(kù)的sql 將內(nèi)容中的換行符直接替換掉
insertSql = "insert into qiubai (dates, text, img) values (%s, replace(replace(%s,'\n',''),'\r',''), %s)"
#執(zhí)行批量插入操作
cursor.executemany(insertSql, resultlist)
#關(guān)閉游標(biāo)及數(shù)據(jù)庫(kù)連接
cursor.close()
conn.close()
input()

如果內(nèi)容中有圖片的話也會(huì)抓取到圖片標(biāo)簽。
python-urllib-mysql

? ? ? ?

本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://yjfs.org.cn/information-python-crawling-embarrassing-one-hundred-and-storage-mysql.html

python抓取糗百信息并入庫(kù)mysql:目前有7 條留言

用戶評(píng)論頭像 基坑支護(hù)發(fā)表于 2014年02月21日 08:26[回復(fù)]

沒(méi)看懂這個(gè)是什么意思?

    用戶評(píng)論頭像 鄭曉發(fā)表于 2014年02月21日 08:55[回復(fù)]

    獲取url的內(nèi)容,然后正則找出當(dāng)前頁(yè)所有的糗事信息,再入庫(kù)。 用正則寫的麻煩了,后來(lái)發(fā)現(xiàn)用BeautifulSoup庫(kù)更方面。

用戶評(píng)論頭像 溫州夜網(wǎng)發(fā)表于 2014年01月28日 19:41[回復(fù)]

我的數(shù)據(jù)庫(kù)老是出問(wèn)題,不知道怎么回事

用戶評(píng)論頭像 胡超博客發(fā)表于 2014年01月09日 14:57[回復(fù)]

學(xué)習(xí)一下,關(guān)于python的博客好少啊

用戶評(píng)論頭像 NIkoes發(fā)表于 2014年01月05日 16:59[回復(fù)]

?? ?? 很好很好

用戶評(píng)論頭像 意遇天空發(fā)表于 2014年01月03日 15:21[回復(fù)]

又是一個(gè)搞運(yùn)維的啊。。。

用戶評(píng)論頭像 手表展示架發(fā)表于 2013年12月27日 21:09[回復(fù)]

python沒(méi)用過(guò),看來(lái)真要學(xué)習(xí)一下

發(fā)表評(píng)論

change vcode