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

昨晚閑得蛋疼,看了看MySQL的文檔,人生第一次用mysql,看了一會兒發現,我操,這么簡單,然后就瞎瘠薄搞了搞,今天下午就想寫點東西,打開了鐵把就想到之前看別人視頻寫的爬貼吧email,個人覺得寫的不好,自己正好沒事干,就順手寫了個爬蟲,順帶保存到MySQL,開搞把。


國際慣例,先上圖 (:

還是看看數據把...輸入命令

mysql查詢

結果:

查詢結果

一共761條,看起來還不錯,當然還是有些不正確的郵箱,代碼在這github.com/ZCKun/CCCoding

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


說一下要用到的模塊

requests

re

pymysql

可能有些剛入這行伙計沒接觸過MySQL,我就在這簡單的說下如何安裝和配置,我只有一臺裝了debian的機器,linux下操作都一樣,mac應該也查不了多少,win的話可以百度


首先安裝MySQL到你的機器上

這是官網: www.mysql.com/

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

社區版本下載地址: dev.mysql.com/downloads/mysql/

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

首先在你手機安裝一個軟件-termux,你可以百度或者去google play下載

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

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

安裝好了之后 輸入 mysqld 開啟服務

然后另開一個窗口輸入 mysql 出錯。。內心懵逼啊, 我這特么不是裝好了么

別慌,termux上安裝mariadb時不會要你設置密碼,但是我們有辦法

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

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

然后開始配置用戶的host,以便于你在電腦/手機上可以方便的用python連接,我這里用電腦示范,確保你手機后臺在運行服務,在你的計算機上登錄你手機上的mariadb時可以用 mysql -h host -P port -u user -p 這里的host是指你手機的ip(局域網的),port端口mysql/mariadb默認是3306,user就是登錄的用戶

在你登錄成功后,出現如下界面:

mysql shell

手機上:

android

之后輸入的命令啥的都一樣,我就不再一一截圖了。。。

輸入 SHOW DATABASES; 或者 show databases; 查看有哪些數據庫

databases

可能和我的不一樣,很正常,你只要確認有mysql這個數據庫就可以了

接著輸入 USE mysql 或 use mysql 相當于進入該數據庫

mysql

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

你可以用 SHOW TABLES; 查看有哪些數據表,但是我這里就不瞎弄了

在這里我們新建一個用戶,并讓其他機器可以連接到來方便我們開發

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

解釋一下“%”這玩意兒,如果你想讓別處的機器也可以連接當前數據庫的話,就這樣寫,“%”是MySQL里的通配符

如過用上面的命令出錯了,那么你還是。。。。。。。別慌,我有辦法

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

但是這還不夠,接著先為剛剛創建的用戶新建一個數據庫,比如叫:testDB

輸入 CREATE DATABASE testDB;

然后給它這個數據庫的所有權限,接著輸入

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

創建完了,然后檢查一下是否成功,輸入

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

android

出現如上圖顯示有東西就是創建成功,password是經過加密的,還有一點忘說了,這操作只能在root用戶下才可以


linux的直接 sudo apt-get install mysql-server 就搞定了,當然不閑麻煩的去官網下載

在安裝期間會要求你設置root密碼,這是mysql的root用戶密碼,最好別忘記

在Windows上,安裝時請選擇UTF-8編碼,以便正確地處理中文。

在Mac或Linux上,需要編輯MySQL的配置文件,把數據庫默認的編碼全部改為UTF-8。MySQL的配置文件默認存放在/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

然后一切妥了,測試是否安裝成功,終端下輸入 mysql -u root -p 然后會車輸入你的root密碼,出現這樣的界面就是ok了

對了,忘了創建數據表了,,,

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

這里第一個email是數據表的名稱,第二個email是列的名稱,30的意思就是限制大小30字符以內,不一定要用VARCHAR,你也可以用CHAR、DATA來表示,主要看你要存啥東西


終于開始講爬蟲了,我日,碼了一個多小時的字。。。

本次的目標網址http://tieba.baidu.com/p/5178628955?pid=108443531615&cid=0#108443531615,我們得到他"?"前面的那串數字就可以了


一共13頁,思路來了

1、獲取爬取的帖子的頁數,然后生成鏈接列表

2、迭代鏈接列表請求,之后解析

3、連接mysql數據庫,然后存儲

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


獲取帖子頁碼


連接數據庫并保存

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

文章質量可能很爛,不過還是比較詳細( 個人感覺 (: )

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內容