除了之前跟大家讲述过的视频、音乐以及时事新闻,关于爬虫可以做的事情有很多很多,像论坛也是其中之一,应用最火的内容,之前给大家罗列的爬虫实际内容有很多,但是还是希望将每个实际内容都跟大家说一下。让大家在遇到这些问题时候,可以有个参考,因此,根据大家罗列的清单,给大家继续安排python怎么爬取论坛,一起来看下吧~

库:requests,re,selenium,time

具体步骤:

一、搜索贴吧

准备一个自己想要爬取的内容

二、显示贴吧首页的帖子

要提取发帖人的名字和帖子主题,选择用正则表达式来实现,具体代码如下:titles = re.findall('

authors = re.findall('title="主题作者: (.*?)"', res.text)

三、查看某一个帖子

通过观察网页源码,可以用正则表达式匹配到这部分回复,然后对于这些回复,也要进行处理后再显示出来。comment_list2 = re.findall('post_bubble_middle_inner">(.*?)

comment = comment_list2[num].replace('
', ' ').replace('

', ' ')

具体源码如下:import requests

import time

import re

from selenium import webdriver

headers = {

"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/"

"53.0.2785.89 Safari/537.36"

}

class TieBa:

def __init__(self, name, url):

self.name = name # 贴吧名

self.url = url # 贴吧首页的url

# 显示首页上的帖子作者和标题

def get_homepage(self):

print("\n\t\t\t\t\t\t{}吧".format(self.name))

res = requests.get(self.url, headers=headers)

titles = re.findall('

authors = re.findall('title="主题作者: (.*?)"', res.text)

for title, author in zip(titles, authors):

print(str(titles.index(title) + 1) + "--" + author + ":" + title[1])

print("\n****************************")

n = int(input("请输入您想要查看的帖子序号:"))

print("****************************\n")

self.get_page("http://tieba.baidu.com/p/" + titles[n - 1][0])

# 显示帖子的具体内容

def get_page(self, page_url):

res = requests.get(page_url, headers=headers)

author_list = re.findall('p_author_name j_user_card.*?>(.*?)<', res.text)

comment_list = re.findall('content clearfix">(.*?)

', res.text, re.DOTALL)

if len(comment_list) == 0:

comment_list = re.findall('d_post_content j_d_post_content ">(.*?)', res.text, re.DOTALL)

# 带回复框的单独考虑

comment_list2 = re.findall('post_bubble_middle_inner">(.*?)

num = 0

# 处理图片和表情,显示对应的链接

for author, comment in zip(author_list, comment_list):

print(author.strip(), end=" : ")

comment = comment.strip().replace('
', ' ')

if "

comment = comment_list2[num].replace('
', ' ').replace('

', ' ')

num += 1

if "src" in comment: # 处理图片信息

src_list = re.findall('src="(.*?)"', comment)

pattern_list = re.findall('()', comment)

for s, p in zip(src_list, pattern_list):

comment = comment.replace(p, ' ' + s)

if "href" in comment: # 处理表情信息

pattern_list = re.findall('()', comment)

for p in pattern_list:

comment = comment.replace(p, ' ').replace("", '')

print(comment)

while True:

x = int(input("\n输入1查看下一页,输入0回到首页,输入-1退出程序:"))

if x == -1:

exit()

if x == 0:

self.get_homepage()

if x == 1:

next_page = re.findall('下一页', res.text)

if len(next_page)>0:

self.get_page("http://tieba.baidu.com" + next_page[0])

else:

print("已经是最后一页了!")

# 利用selenium模拟浏览器查找贴吧

def search():

chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument('--headless')

browser = webdriver.Chrome(chrome_options=chrome_options)

browser.get("https://tieba.baidu.com/")

name = input("请输入想要进入的贴吧名字:")

browser.find_element_by_xpath('//*[@id="wd1"]').send_keys(name)

browser.find_element_by_xpath('//*[@id="tb_header_search_form"]/span[1]/a').click()

url = browser.current_url

if "tieba.baidu.com/f?ie=utf-8" in url: # 搜索的贴吧存在

print("正在进入{}吧,请稍等...".format(name))

time.sleep(2)

t = TieBa(name, url)

t.get_homepage()

else:

print("没有找到{}吧\n".format(name))

main()

def main():

x = int(input("输入1搜索进入贴吧,输入-1退出程序:"))

if x == 1:

search()

else:

exit()

if __name__ == '__main__':

main()

好了,以上就是爬取论坛的内容了,如果大家遇到这种问题,可以来看下小编的这篇内容,很容易解决的哦~

python爬虫实际应用_如何使用python爬虫论坛?相关推荐

  1. python爬虫获取方法_小白学python爬虫:2.获得数据

    在上一篇文章我我们已经完成了对网页的分析,包括了:在源码中数据的定位:获取方法(xpath).那么在获得数据之前我们考虑的则是如何获取源码. 接下来我们将学习如何从服务器获得源码. #写在前面&quo ...

  2. python urllib dns 缓存_新手用Python做一个网页爬虫

    咱们好哈,最近博主在学习Python,学习时期也遇到一些问题,获得了一些经历,在此将自个的学习体系地整理下来,假如咱们有爱好学习爬虫的话,能够将这些文章作为参阅,也期待咱们总共同享学习经历. 首要py ...

  3. python博客访问量_史诗级干货-python爬虫之增加CSDN访问量

    AI 人工智能 史诗级干货-python爬虫之增加CSDN访问量 史诗级干货-python爬虫之增加CSDN访问量 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法. ...

  4. python打开文件切片_收藏 | 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)...

    来源:大数据 作者:罗攀 蒋仟 本文约5000字,建议阅读20分钟. 本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 本文涉及 ...

  5. 从零开始学python网络爬虫读书笔记_从零开始学Python网络爬虫 中文pdf

    资源名称:从零开始学Python网络爬虫 中文pdf 第1章 Python零基础语法入门 1 第2章 爬虫原理和网页构造 17 第3章 我的第一个爬虫程序 26 第4章 正则表达式 45 第5章 Lx ...

  6. python会计实证研究_实证研究者的爬虫工具选择

    作为一个实证研究小青年??,有段时间因为研究的需要,要做定向爬虫.这是自己学习Python最初的缘由.那个时候爬虫的材料还不是太多,自己在网上找了一些文章和电子书来学习.边学边试,不久就完工了. 完工 ...

  7. python ip动态代理_给自己的爬虫做一个简单的动态代理池

    使用代理服务器一直是爬虫防BAN最有效的手段,但网上的免费代理往往质量很低,大部分代理完全不能使用,剩下能用的代理很多也只有几分钟的寿命,没法直接用到爬虫项目中. 下面简单记录一下我用scrapy+r ...

  8. python大神教程_大神python教程415集全套,拿走不谢

    大神的教程 由北京尚学堂高淇老师亲自录制,2019Python自学教程全新升级为<Python+数据分析+机器学习>能力逐级提升,打造技能更全面的全栈工程师. Python作为一种编程语言 ...

  9. python数据科学手册_小白入门Python数据科学

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

  10. python 宏处理库_常用的Python库,给大家分享一下!

    Tkinter---- Python默认的图形界面接口. Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组.Tcl/Tk是 ...

最新文章

  1. VSCode设置合并行快捷键
  2. 从html中提取手机号码,C#从字符串中提取电话号码、手机号码
  3. Echarts实现隐藏x轴,y轴,刻度线,网格
  4. [CMake] message 打印变量值
  5. 相机视场角和焦距_相机参数一览表
  6. 2.从Paxos到Zookeeper分布式一致性原理与实践---一致性协议
  7. 管理新语:年龄经验并不能让一个医生律师厉害,而是他本来就厉害
  8. wxParse无法解析strong标签
  9. 如何编写自己的python包,并进行安装和发布
  10. 【机器学习原理】SVM支持向量机分类算法
  11. 近期每日学习与工作时间安排
  12. 一文分析 Android现状及发展前景
  13. 如何自己搭建钓鱼网站检测系统
  14. Oracle数据库之PL/SQL程序设计基础
  15. 千万PV是什么意思?
  16. P5030 长脖子鹿放置
  17. Linux 桌面虚拟化技术 KVM
  18. RT-Thread Nano入门学习笔记(1)
  19. 人手,人力,人才,人物
  20. Cesium中笛卡尔坐标系到底是什么鬼

热门文章

  1. 应用上云2小时烧掉近50万,创始人:差点破产,简直噩梦
  2. MiniDao Framework 1.3.0 发布,J2EE持久化解决方案
  3. Maven 手动安装Jar包的例子
  4. saltstack的简单安装和配置
  5. Python入门篇-生成器函数
  6. 前端笔试之手写代码(一)
  7. jsp 或 php 等view之中使用javascript简单处理的使用技巧
  8. 用 cctld工具创建带有国家代码的IP地址表
  9. 用ISA Server做***路由代替专线
  10. new失败跟踪函数_关于针对class自定义new操作符失败的函数处理