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 =[]#循环控制变量

pn = 1

whileTrue:

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

t_re_html= requests.get(t_url, headers=headers).text#获取页数

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#循环遍历页面所有楼层

for re_lc int_nr:#这里做一个错误跳转,楼层没有邮箱则跳过

try:#提取楼层发布时间

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

#加页数

pn = pn + 1

#判断翻页完成跳出循环

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

#文件写入函数

def text_save(filename,data,ts,text2): #filename为写入文件的路径,data为要写入数据列表.

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(']', '') #去除[],这两行按数据不同,可以选择

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

file.write(s)

file.close()

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

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

return wjm #把文件名返回

#页面入口函数

def tieba_caiji(kw,time_xz,text2,pn,yx,bcwj): #kw传贴吧名,time_xz采集控制当天 text2传一个句柄 ,yx传运行状态 pn 传贴吧翻页

whileTrue:for ye in range(int(pn)): #这个循环是循环贴吧翻页

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 #统计帖数

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

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

  1. Python爬取了《雪中悍刀行》数据,数据可视化分析

    Python爬取了<雪中悍刀行>数据,数据可视化分析 如何查找视频id 项目结构 制作词云图 制作最近评论数条形图与折线图 制作每小时评论条形图与折线图 制作最近评论数饼图 制作每小时评论 ...

  2. Python爬取豆瓣Top250电影中2000年后上映的影片信息

    Python爬取豆瓣Top250电影中2000年后上映的影片信息 前言 双十一前加在京东购物车的一个东西,价格330,Plus会员用券后差不多310.双十一当天打开看了下399,还得去抢满300减10 ...

  3. python爬取中国天气网中城市及其对应编号

    文章目录 一.前言 二.思路 三.程序 四.注意事项 一.前言 为了实现爬取各地城市天气预报及其可视化的需要,爬取中国天气网中城市及其对应编号 . 天气预报可视化文章如下: <python爬虫, ...

  4. python爬取微博热搜显示到折线图_Python爬取新浪微博热搜榜-Go语言中文社区

    我们如何爬取这50条热搜呢?今天写一个简单的方法供感兴趣的朋友们参考! 引用库: requests json lxml.etree bs4.BeautifulSoup引用方法如下: 如果没有下载的需要 ...

  5. python爬取拉勾网给定关键词职位信息存入数据库_Python 爬取拉勾网python职位信息...

    今天的任务是爬取拉勾网的职位信息. 首先,我们进入拉勾网,然后在职位搜索栏搜索Python 的同时,打开控制面板F12,来查看网页构成. 在XHR里,可以清楚的看见Ajax请求,所以需要使用sessi ...

  6. 用 Python 爬取了《雪中悍刀行》数据,终于知道它为什么这么火了

    转载来源/志斌的python笔记 绪论 大家好,我是J哥. 本期是对腾讯热播剧--雪中悍刀行的一次爬虫与数据分析,耗时一个小时,总爬取条数1W条评论,很适合新人练手. 爬虫方面:由于腾讯的评论数据是封 ...

  7. Python爬取某旅游网站中的中国城市信息

    分析 这是目标网址 可以发现它是通过点击下一页来翻页的,所以可以大概率判断它每一页的链接是有规律的,我们找出它的前两页的链接: https://place.qyer.com/china/citylis ...

  8. 使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(糗事百科)

    ''' 3. 糗事百科:xpath http://www.qiushibaike.com/8hr/page/1 获取列表页每个帖子里的图片.用户昵称.段子内容.点赞次数和评论次数 选做:翻页 写到js ...

  9. 使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(股吧论坛)

    ''' 翻页获取股吧数据 http://guba.eastmoney.com/ 获取10页信息,然后放到指定文件夹中 ''' ''' 爬取板块:国产芯片 思路:找规律第一页:http://so.eas ...

最新文章

  1. 嵌入式程序员应知道的0x10个基本问题
  2. ExtJS ComboBox 异步读取项后默认选中某项
  3. leetcode 54. 螺旋矩阵
  4. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第4章-具有随机扰动的多智能体系统脉冲一致性
  5. 5月份升级鸿蒙系统的华为手机名单,鸿蒙OS前三批升级名单曝光,华为荣耀手机可升级,幸福来得太突然...
  6. NOIP2017普及组翻车记
  7. 第一章 计算机系统概述 1.3 计算机的性能指标 [计算机组成原理笔记]
  8. OpenCV精进之路(十):直方图匹配——模板匹配
  9. 机器学习/深度学习测试题(二)—— 单层线性神经网络求解异或问题
  10. Unable to update index for central|http://repo1.maven.org/maven2
  11. 【ArcGIS|空间分析】窗口分析
  12. Julia也能做爬虫?可以,但没必要
  13. AM335x TP驱动解析
  14. Netty高性能之道 1
  15. verilog 握手机制学习记录
  16. java 按英文名排序_输入5种水果的英文名称,用java编写一个程序,输出这些水果名称按照字典出现的先后循序输出?...
  17. 基于TI AM335X的工业网关参考设计分享
  18. contiki-进程
  19. 1.1.6 LSDB同步
  20. 数据库(分库分表)中间件对比(转)

热门文章

  1. 学不会的JAVA,消不了的忧愁! 1
  2. idea中删除java类并提交_IDEA 删除java类的3种提示
  3. linux内核启动失败,裁剪后montavistalinux内核 nfs启动失败
  4. 第一部分 Java:面向对象理解
  5. mongoose $sum
  6. Flutter1.12与原生Android交互(kotlin)
  7. springboot health检查
  8. .Net DES加密解密(不带向量)
  9. 菜鸟要做架构师——java性能优化之for循环
  10. oracle表分区失效14400,Oracle11g:分区表数据操作出现ORA-14400异常处理详解