日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬取百度贴吧中的所有邮箱_python写的百度贴吧邮箱采集(带界面)

發(fā)布時間:2023/12/10 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬取百度贴吧中的所有邮箱_python写的百度贴吧邮箱采集(带界面) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

from main_def import *

importrequests,reimportdatetime,timefrom tkinter importEND

headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"}#單個帖子爬蟲

deftz_cj(url,time_xz):#########-----------分割線--------------#############################

#########------------開始帖子郵箱采集-------------####################

#選擇采集時間控制變量,1 為當天,7 為前七天,10 為不限制時間

#time_xz = 7

#獲取當前時間

time1 = datetime.datetime.now().strftime('%Y-%m-%d')#郵箱存儲列表

yx_list =[]#循環(huán)控制變量

pn = 1

whileTrue:

t_url= url + "?pn=" +str(pn)

t_re_html= requests.get(t_url, headers=headers).text#獲取頁數(shù)

red = re.findall('(.*?)', t_re_html)[0]#正則匹配提取每一個樓層

t_nr_1 = re.findall('


', t_re_html, re.S)

t_nr_2= re.findall('

(.*?)

t_nr= t_nr_1 +t_nr_2#循環(huán)遍歷頁面所有樓層

for re_lc int_nr:#這里做一個錯誤跳轉(zhuǎn),樓層沒有郵箱則跳過

try:#提取樓層發(fā)布時間

times = re.search(r"(\d{4}-\d{1,2}-\d{1,2})", re_lc)

tims=(times.group(0))#提取樓層郵箱

pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,5}'items=re.findall(pattern, re_lc)[0]#判斷采集當天

if time_xz == 1:#只爬取當天郵箱

if time1 ==tims:

yx_list.append(items)#判斷采集前七天

elif time_xz == 7:

time7= datetime.datetime.today().date() - datetime.timedelta(days=8)if str(tims) >str(time7):

yx_list.append(items)#判斷采集不限制時間

elif time_xz == 10:

yx_list.append(items)except:continue

#加頁數(shù)

pn = pn + 1

#判斷翻頁完成跳出循環(huán)

if pn - 1 ==int(red):breaktime.sleep(0.5)return yx_list #返回采集到的郵箱

#文件寫入函數(shù)

def text_save(filename,data,ts,text2): #filename為寫入文件的路徑,data為要寫入數(shù)據(jù)列表.

datas = list(set(data)) #去除重復郵箱

times = datetime.datetime.now().strftime('%Y-%m-%d-%H')

file= open(times + "-" + filename + "吧郵箱采集文件.txt", 'a')for i inrange(len(datas)):

s= str(datas[i]).replace('[', '').replace(']', '') #去除[],這兩行按數(shù)據(jù)不同,可以選擇

s = s.replace("'", '').replace(',', '') + '\n' #去除單引號,逗號,每行末尾追加換行符

file.write(s)

file.close()

text2.insert(END,"第%d個帖郵箱采集成功保存文件!"%ts + '\n')

wjm= times + "-" + filename + "吧郵箱采集文件.txt"

return wjm #把文件名返回

#頁面入口函數(shù)

def tieba_caiji(kw,time_xz,text2,pn,yx,bcwj): #kw傳貼吧名,time_xz采集控制當天 text2傳一個句柄 ,yx傳運行狀態(tài) pn 傳貼吧翻頁

whileTrue:for ye in range(int(pn)): #這個循環(huán)是循環(huán)貼吧翻頁

pn = ye * 50url= "https://tieba.baidu.com/f?kw=%s&ie=utf-8&pn=%d" %(kw, pn)#爬貼吧第一頁的所有帖子

html = requests.get(url, headers=headers).text

re_html= re.findall('

(.*?)', html, re.S)

ts= 1 #統(tǒng)計帖數(shù)

for i inre_html:

href= re.findall('href="(.*?)"', i, re.S)[0]

t_url= "https://tieba.baidu.com" +href

yx_list=tz_cj(t_url, time_xz)

wjm=text_save(kw, yx_list, ts, text2)

time.sleep(3)

ts= ts + 1text2.insert(END,"%s吧第%d頁采集完成!" % (kw,ye+1) + '\n')

text2.insert(END,"%s吧采集完成!" % (kw) + '\n')#保存入今日文件

if bcwj == 2:

wenjian_xr(wjm)#如果為 2 則等待1小時 運行

if yx == 2:

time.sleep(3600)#翻頁完成,退出軟件

else:break

總結(jié)

以上是生活随笔為你收集整理的python爬取百度贴吧中的所有邮箱_python写的百度贴吧邮箱采集(带界面)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。