Python爬蟲獲取貼吧中的郵箱
阿新 • • 發佈:2018-12-18
最近公司正在談的專案需要用到爬蟲,和經理交流後,經理建議我用Python實現。昨天看了會兒Python基本語法後,在電腦上安裝了Python 3.7以及編譯器PyCharm。今天參考了網上的程式碼後,根據網上的程式碼小做修改,實現了之前用Java寫的爬取貼吧帖子中的郵箱。以下為程式碼:
import requests import datetime import re def get_email(url): content = requests.get(url).text pattern = r'[0-9a-zA-Z._][email protected][0-9a-zA-Z._]+\.[0-9a-zA-Z._]+' #正則表示式判斷郵箱 p = re.compile(pattern) m = p.findall(content) email = list(set(m)) #去掉重複郵箱 count = 0 #郵箱計數 for mm in email: count = count+1 print(mm) return count n = 1 # 頁數 amount = 0 # 郵箱計數 start_time = datetime.datetime.now() # 開始時間 while n <= 10: amount = amount + get_email('https://tieba.baidu.com/p/3349997454?pn=' + str(n)) n = n + 1 end_time = datetime.datetime.now() # 結束時間 print('獲取了' + str(amount) + '個郵箱') print(str((end_time - start_time).seconds) + '秒')
其中requests包需要自行安裝匯入,百度一下就可以了,這裡不做贅述。效果如圖:
可以看到,這裡耗時和使用單執行緒的Java爬蟲的耗時是差不多的,但Python的程式碼顯然比Java少了幾十行,所以Python還是非常厲害的。