首页 > 编程语言 >python爬虫小案例-re正则

python爬虫小案例-re正则

时间:2024-03-26 18:58:05浏览次数:29  
标签:__ python 爬虫 findall re 评论 import page

案例如下:

1.使用正则表达式和文件操作爬取并保存“某吧”某帖子全部内容(该帖不少于5页。

本次选取的是某吧中的NBA吧中的一篇帖子,帖子标题是“克莱和哈登,谁历史地位更高”。爬取的目标是帖子里面的回复内容。

源程序如下:

import csv
import requests
import re
import time
 
def main(page):
    url = f'https://tieba.baidu.com/p/7882177660?pn={page}'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
    }
    resp = requests.get(url,headers=headers)
    html = resp.text
    # 评论内容
    comments = re.findall('style="display:;">                    (.*?)</div>',html)
    # 评论用户
    users = re.findall('class="p_author_name j_user_card" href=".*?" target="_blank">(.*?)</a>',html)
    # 评论时间
    comment_times = re.findall('楼</span><span class="tail-info">(.*?)</span><div',html)
    for u,c,t in zip(users,comments,comment_times):
        # 筛选数据,过滤掉异常数据
        if 'img' in c or 'div' in c or len(u)>50:
            continue
        csvwriter.writerow((u,t,c))
        print(u,t,c)
    print(f'第{page}页爬取完毕')
 
if __name__ == '__main__':
    with open('01.csv','a',encoding='utf-8')as f:
        csvwriter = csv.writer(f)
        csvwriter.writerow(('评论用户','评论时间','评论内容'))
        for page in range(1,8):  # 爬取前7页的内容
            main(page)
            time.sleep(2)

标签:__,python,爬虫,findall,re,评论,import,page
From: https://blog.csdn.net/wangbo_angel/article/details/137006245

相关文章

  • java用es报错ElasticsearchStatusException[Elasticsearch exception [type=x_content
    java报错ElasticsearchStatusException[Elasticsearchexception[type=x_content_parse_exception,reason=[1:55][bool]failedtoparsefield[must]]];nested:ElasticsearchException[Elasticsearchexception[type=parsing_exception,reason=[match]unknowntoke......
  • Python循环语句:for循环和while循环
    在编程中,有时需要让代码重复多次相似或相同的操作。比如输出列表中的逐个元素,我们通常不喜欢下面这种编程方式:list1=[0,1,2,3,4]print(list1[0])print(list1[1])print(list1[2])print(list1[3])print(list1[4])此时运行结果会依次输出列表的元素,但显然这会让代码......
  • Python中实现跑马灯效果
    跑马灯效果是一种在显示屏上文字或图像连续滚动的视觉效果,常见于广告和通知。在Python中,我们可以使用标准库中的功能来创建这样的效果。本文将介绍如何使用Python实现简单的跑马灯效果。准备工作首先,确保你的Python环境已经安装了pygame库,它提供了创建游戏和实现动态视觉效果......
  • .NET Core 简介
       微软于2016年推出了新一代的开发平台,并且将其命名为.NETCore。相较于旧的.NETFramework。.NETCore有如下优点:  1).NETCore采用模块化开发。不再像.NETFramework那样需要安装整个安装包。.NETCore核心只包含很少的文件,所有其他模块都需要单独安装。根据需要引用......
  • Python——timeit(运行时间平均值计算)
    可以计算其中运行代码所用的平均时间。importtimeitprint(timeit.timeit('a,b=10,20;a1=a;a=b;'))0.015125599999009864使用多重赋值的技巧来交换两个变量,也就是所谓的“迭代解包”它的运行时间是:importtimeitprint(timeit.timeit('a,b=10,20;a,b=b,......
  • 使用 Kotlin DSL 编写网络爬虫
    本博文将会通过一个网络爬虫的例子,向你介绍Kotlin的基本用法和其简洁有力的DSL。关于DSL按照维基百科的说法,DSL(domain-specificlanguage)是一种专注于某一特定应用领域的计算机语言。和我们常用的通用目的型语言(类如C,Java,Python等)相反,DSL并不承诺可用来解决一切可计算......
  • Xshell连接Vmware中的CentOs本地虚拟机
    1、准备工作:本地安装Vmware+Centos2、下载Xshell免费版(仅供个人/学校学习使用):https://www.xshell.com/zh/free-for-home-school/3、网络配置1、点击Vmware“编辑”-“虚拟网络编辑器”,点击“更改设置”,按图选中“VMnet8”然后取消下面的选中。 2、进入虚拟机,编辑文件:/etc/s......
  • 【Python程序开发】2024年安徽省职业院校技能大赛中职组“Python程序开发”赛项规程
    2023年安徽省职业院校技能大赛(中职组)“Python程序开发”竞赛规程一、赛项名称(一)赛项名称Python程序开发赛项归属产业类型电子信息产业赛项归属专业大类组别专业大类专业类专业代码专业名称中职电子与信息大类电子信息类710101电子信息技术中职电子与信息大类计算机类7......
  • 【一】了解计算机的原理以及Python
    【一】编程和编程语言是什么【1】什么是编程编程其实就是将人类的语言转换为计算机能识别的语言【2】什么是编程语言人和人之间都会进行交流人和人之间交流的媒介就是语言编程语言就是人与计算机之间进行交流的语言【3】为什么要出现编程语言最根本的原因就是计算机......
  • 【VMware ESXi】HP Z4G4 Workstation安装ESXi停留在Shutting down firmware services.
    家里有台HPZ4G4Workstation工作站,底层安装运行了VMware的ESXiHypervisor,作为Homelab的Allinone环境。之前安装ESXi8的时候有个问题,在启动ESXi安装阶段,一直停留在“Shuttingdownfirmwareservices...”这个地方。我知道可能大多数人遇到的问题都是如下报错,解决方法也是......