Python爬蟲-扒一扒百度貼吧里的email并保存到MySQL

昨晚閑得蛋疼累颂,看了看MySQL的文檔滞详,人生第一次用mysql,看了一會(huì)兒發(fā)現(xiàn)紊馏,我操料饥,這么簡(jiǎn)單,然后就瞎瘠薄搞了搞朱监,今天下午就想寫點(diǎn)東西岸啡,打開了鐵把就想到之前看別人視頻寫的爬貼吧email,個(gè)人覺得寫的不好赫编,自己正好沒事干巡蘸,就順手寫了個(gè)爬蟲,順帶保存到MySQL擂送,開搞把悦荒。


國際慣例,先上圖 (:

還是看看數(shù)據(jù)把...輸入命令

mysql查詢

結(jié)果:

查詢結(jié)果

一共761條嘹吨,看起來還不錯(cuò)搬味,當(dāng)然還是有些不正確的郵箱,代碼在這github.com/ZCKun/CCCoding

或者直接wget https://raw.githubusercontent.com/ZCKun/CCCoding/master/tieba_email.py下載到本地


說一下要用到的模塊

requests

re

pymysql

可能有些剛?cè)脒@行伙計(jì)沒接觸過MySQL躺苦,我就在這簡(jiǎn)單的說下如何安裝和配置身腻,我只有一臺(tái)裝了debian的機(jī)器,linux下操作都一樣匹厘,mac應(yīng)該也查不了多少嘀趟,win的話可以百度


首先安裝MySQL到你的機(jī)器上

這是官網(wǎng): www.mysql.com/

下載地址: www.mysql.com/downloads/

社區(qū)版本下載地址: dev.mysql.com/downloads/mysql/

考慮到有些人像我當(dāng)年一樣沒電腦只有一部android手機(jī)也寫了幾個(gè)月的代碼的情況下,在這里我也說下如何用手機(jī)安裝MySQL(mariadb)愈诚,請(qǐng)確認(rèn)你的手機(jī)是android并且版本在5.x以上最好6.x

首先在你手機(jī)安裝一個(gè)軟件-termux她按,你可以百度或者去google play下載

安裝好了打開后看到熟悉的終端牛隅,輸入 apt update && apt upgrade

然后開始安裝mariadb(mysql的那啥。酌泰。媒佣。) apt-get install mariadb

安裝好了之后 輸入 mysqld 開啟服務(wù)

然后另開一個(gè)窗口輸入 mysql 出錯(cuò)。陵刹。內(nèi)心懵逼啊默伍, 我這特么不是裝好了么

別慌,termux上安裝mariadb時(shí)不會(huì)要你設(shè)置密碼衰琐,但是我們有辦法

輸入 mysqladmin -u root password “你的密碼” 這樣就設(shè)置了你的root用戶的密碼了

然后輸入 mysql -u root -p 回車也糊,要求輸入密碼,填寫你剛剛設(shè)置的密碼就ok了

然后開始配置用戶的host羡宙,以便于你在電腦/手機(jī)上可以方便的用python連接狸剃,我這里用電腦示范,確保你手機(jī)后臺(tái)在運(yùn)行服務(wù)狗热,在你的計(jì)算機(jī)上登錄你手機(jī)上的mariadb時(shí)可以用 mysql -h host -P port -u user -p 這里的host是指你手機(jī)的ip(局域網(wǎng)的)钞馁,port端口mysql/mariadb默認(rèn)是3306,user就是登錄的用戶

在你登錄成功后匿刮,出現(xiàn)如下界面:

mysql shell

手機(jī)上:

android

之后輸入的命令啥的都一樣僧凰,我就不再一一截圖了。熟丸。允悦。

輸入 SHOW DATABASES; 或者 show databases; 查看有哪些數(shù)據(jù)庫

databases

可能和我的不一樣,很正常虑啤,你只要確認(rèn)有mysql這個(gè)數(shù)據(jù)庫就可以了

接著輸入 USE mysql 或 use mysql 相當(dāng)于進(jìn)入該數(shù)據(jù)庫

mysql

看到和我的提示差不多一樣就沒毛病

你可以用 SHOW TABLES; 查看有哪些數(shù)據(jù)表隙弛,但是我這里就不瞎弄了

在這里我們新建一個(gè)用戶,并讓其他機(jī)器可以連接到來方便我們開發(fā)

輸入 INSERT INTO user (Host, User, Password) VALUES ("%", "用戶名", "密碼");

解釋一下“%”這玩意兒狞山,如果你想讓別處的機(jī)器也可以連接當(dāng)前數(shù)據(jù)庫的話全闷,就這樣寫,“%”是MySQL里的通配符

如過用上面的命令出錯(cuò)了萍启,那么你還是总珠。。勘纯。局服。。驳遵。淫奔。別慌,我有辦法

輸入 CREATE USER "用戶名"@"%" IDENTIFIED BY "密碼";

但是這還不夠堤结,接著先為剛剛創(chuàng)建的用戶新建一個(gè)數(shù)據(jù)庫唆迁,比如叫:testDB

輸入 CREATE DATABASE testDB;

然后給它這個(gè)數(shù)據(jù)庫的所有權(quán)限鸭丛,接著輸入

GRANT ALL PRIVILEGES ON testDB.* TO "剛剛創(chuàng)建的用戶名"@"%" IDENTIFIED BY "密碼";

創(chuàng)建完了,然后檢查一下是否成功唐责,輸入

SELECT Host, User, Password, Select_priv, Insert_priv, Update_priv, Create_priv FROM user WHERE User = "你剛剛創(chuàng)建的用戶名";?

android

出現(xiàn)如上圖顯示有東西就是創(chuàng)建成功鳞溉,password是經(jīng)過加密的,還有一點(diǎn)忘說了鼠哥,這操作只能在root用戶下才可以


linux的直接 sudo apt-get install mysql-server 就搞定了熟菲,當(dāng)然不閑麻煩的去官網(wǎng)下載

在安裝期間會(huì)要求你設(shè)置root密碼,這是mysql的root用戶密碼朴恳,最好別忘記

在Windows上科盛,安裝時(shí)請(qǐng)選擇UTF-8編碼,以便正確地處理中文菜皂。

在Mac或Linux上,需要編輯MySQL的配置文件厉萝,把數(shù)據(jù)庫默認(rèn)的編碼全部改為UTF-8恍飘。MySQL的配置文件默認(rèn)存放在/etc/my.cnf或者/etc/mysql/my.cnf:

[client]

default-character-set = utf8

[mysqld]

default-storage-engine = INNODB

character-set-server = utf8

collation-server = utf8_general_ci

然后一切妥了,測(cè)試是否安裝成功谴垫,終端下輸入 mysql -u root -p 然后會(huì)車輸入你的root密碼章母,出現(xiàn)這樣的界面就是ok了

對(duì)了,忘了創(chuàng)建數(shù)據(jù)表了翩剪,乳怎,,

輸入 CREATE TABLE email (email VARCHAR(30));

這里第一個(gè)email是數(shù)據(jù)表的名稱前弯,第二個(gè)email是列的名稱蚪缀,30的意思就是限制大小30字符以內(nèi),不一定要用VARCHAR恕出,你也可以用CHAR询枚、DATA來表示,主要看你要存啥東西


終于開始講爬蟲了浙巫,我日金蜀,碼了一個(gè)多小時(shí)的字。的畴。渊抄。

本次的目標(biāo)網(wǎng)址http://tieba.baidu.com/p/5178628955?pid=108443531615&cid=0#108443531615,我們得到他"?"前面的那串?dāng)?shù)字就可以了


一共13頁丧裁,思路來了

1护桦、獲取爬取的帖子的頁數(shù),然后生成鏈接列表

2煎娇、迭代鏈接列表請(qǐng)求嘶炭,之后解析

3抱慌、連接mysql數(shù)據(jù)庫,然后存儲(chǔ)

代碼我就不寫了眨猎,直接貼圖上來


獲取帖子頁碼


連接數(shù)據(jù)庫并保存

詳細(xì)代碼可以在這里看到github.com/ZCKun/CCCoding

文章質(zhì)量可能很爛抑进,不過還是比較詳細(xì)( 個(gè)人感覺 (: )

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市睡陪,隨后出現(xiàn)的幾起案子寺渗,更是在濱河造成了極大的恐慌,老刑警劉巖兰迫,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件信殊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡汁果,警方通過查閱死者的電腦和手機(jī)涡拘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來据德,“玉大人鳄乏,你說我怎么就攤上這事〖” “怎么了橱野?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)善玫。 經(jīng)常有香客問我水援,道長(zhǎng),這世上最難降的妖魔是什么茅郎? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任蜗元,我火速辦了婚禮,結(jié)果婚禮上系冗,老公的妹妹穿的比我還像新娘许帐。我一直安慰自己,他們只是感情好毕谴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布成畦。 她就那樣靜靜地躺著,像睡著了一般涝开。 火紅的嫁衣襯著肌膚如雪循帐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天舀武,我揣著相機(jī)與錄音拄养,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瘪匿,可吹牛的內(nèi)容都是我干的跛梗。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼棋弥,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼核偿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顽染,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤漾岳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后粉寞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尼荆,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年唧垦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捅儒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡振亮,死狀恐怖巧还,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情双炕,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布撮抓,位于F島的核電站妇斤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏丹拯。R本人自食惡果不足惜站超,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乖酬。 院中可真熱鬧死相,春花似錦、人聲如沸咬像。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽县昂。三九已至肮柜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間倒彰,已是汗流浹背审洞。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留待讳,地道東北人芒澜。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓仰剿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親痴晦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子南吮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容