利用Python爬取糗事百科段子信息

2023-05-16

有个博客很详细https://blog.csdn.net/weixin_42488570/article/details/80794087

要求:用户ID,用户等级,用户性别,发表段子文字信息,好笑数量和评论数量,如下图所示:

用户ID 

user = re.findall('<h2.*?>(.*?)</h2>', text, flags=re.DOTALL)

文字 

text = re.findall('<div class="content">.*?<span>(.*?)</span>', text, re.S)

import requests
from lxml import etree
import re

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36'
    # 'referer': 'https://dytt8.net/html/gndy/dyzz/list_23_2.html'
}


def judgment_sex(class_name):
    if class_name == 'womenIcon':
        return '女'
    else:

        return '男'


def parse_page(url):
    response = requests.get(url, headers=headers)
    text = response.text
    users = re.findall('<h2.*?>(.*?)</h2>', text, flags=re.DOTALL)
    sexs = re.findall('<div class="articleGender(.*?)">', text, re.S)
    contents = re.findall('<div class="content">.*?<span>(.*?)</span>', text, re.S)
    laughs = re.findall('<i class="number.*?>(\d+)</i>', text, flags=re.DOTALL)
    info_lists = []
    for value in zip(users, sexs, contents, laughs):
        user, sex, content, laugh = value
        info = {
            'user': user,
            'sex': judgment_sex(sex),
            'content': content,
            'laugh': laugh
        }
        info_lists.append(info)
    print(info_lists)
    #保存到本地,可以不保存
    for info_list in info_lists:
        f = open('C:\\Users\\wei\\Desktop\\qiushi.txt', 'a+')
        try:
            f.write(info_list['user'] + '\n')
            f.write(info_list['sex'] + '\n')
            f.write(info_list['content'] + '\n')
            f.write(info_list['laugh'] + '\n')
            f.close()
        except UnicodeEncodeError:
            pass


def spider():
    url = 'https://www.qiushibaike.com/text/page/2/'
    parse_page(url)


if __name__ == '__main__':
    spider()

结果

我们可以看到输出结果和空格

优化去掉其他的字符串

修改代码如下

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用Python爬取糗事百科段子信息 的相关文章

  • 华师2017高等工程数学期末试题 

    华师2017高等工程数学期末试题
  •     2016 年 高等工程数学 期末试题

    2016 年 高等工程数学 期末试题
  • 数据降维之因子分析

    之前学习的时候大略看了一下 xff0c 不记得什么 xff0c 重新学习学习 因子分析 factor analysis 是主成分分析的推广和发展 xff0c 与主成分分析 一样 xff0c 它也是一种 降维 的统计分析方法 是一种用来分析隐
  • nvcc fatal : No input files specified; use option --help for more information

    记录一下出现的不可思议的bug nvcc fatal No input files specified use option help for more information 首先看看是否是大小写问题 是不是神bug
  • window10+ NVIDIA GeForce RTX 3090安装pytorch

    显卡版本是 NVIDIA GeForce RTX 3090 安装NVIDIA cudn 11 1 cudnn是8 0 4 30版本 安装显卡见https blog csdn net china xin1 article details 10
  • 图神经网络

    参考资料 斯坦福CS224W课程 xff1a http cs224w stanford edu https snap stanford github io cs224w notes https www bilibili com video
  • 如何快速了解一个领域/写综述

    1 先去找本领域的综述 xff08 最新 xff09 文章刚开始可以是中文方便理解 2 去找本领域硕博论文选一个高引用的去看 3 选择本领域经典论文 现在知网 万方等数据库都有文献推荐如下 以知网为例 选择知识追踪综述 改进知识追踪模型对提
  • LaTeX快速入门

    可参考文件 LaTeX零基础入门教程https www jianshu com p 3e842d67ada2 各种小技巧https zhuanlan zhihu com p 56024243 查看本地说明文档 ctex宏包的使用方法 查看c
  • 面向个性化学习的数据挖掘方法与应用研究1

  • EKPT模型

    面向个性化学习的数据挖掘方法与应用研究2 EKPT模型
  • docker搭建PyPI服务器

    运行 docker 服务器添加用户使用方法 上传 package使用仓库安装 package 运行 docker 服务器 首先创建服务器文件存放目录 xff08 如 pypi xff09 xff0c 进入目录 使用镜像 codekoala
  • 高维数据可视化之t-SNE算法

    https blog csdn net hustqb article details 78144384 t sne数学原理https zhuanlan zhihu com p 57937096 什么是t SNE xff1f t SNE的主要
  • Dynamic Key-Value Memory Networks for Knowledge Tracing论文阅读

    DKVMN模型效果不是很好 xff0c 但提供了很多新颖的方法思路 xff0c 最近看几篇文章都重点提到了这个模型并对这个模型进行改进 xff0c 回头仔细看一下这篇论文 动机 将KT公式化为监督序列学习问题 BKT和DKT 本文模型 本文
  • 记忆网络外部存储器

    结构化的外部记忆 记忆网络通常由四个模块构成 xff1a 主网络 外部记忆单元 读取模块 以及写入模块 主网络 也叫做控制器 xff0c 任务是解决内容和外界的交互 外部记忆单元负责存储信 息 xff0c 由很多记忆片段组成 xff0c 它
  • 简单爬虫入门

    来源莫烦爬虫 https mofanpy com tutorials data manipulation scraping understand website 爬网页流程 选着要爬的网址 url 使用 python 登录上这个网址 url
  • 正则表达式

    正则表达式这一篇就够了 xff0c 记录学习方便回来查找 文章来源https mofanpy com tutorials python basic basic regular expression https www cnblogs com
  • 数据可视化之 Matplotlib

    可参考 https mofanpy com tutorials data manipulation plt 基本用法 set new sticks new ticks 61 np linspace 1 2 5 print new ticks
  • 爬虫学习之下载图片

    首先找到网页的图片地址如 网址为 xff1a https i0 hdslb com bfs face 03525d094e0e2a142d08181532d729615c18ec92 jpg 找到了这个网址 我们就能开始下载了 为了下载到一
  • Python刷题之两数之和

    刷题之旅开始 day1 给定一个整数数组 nums 和一个整数目标值 target xff0c 请你在该数组中找出 和为目标值 的那 两个 整数 xff0c 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 xff0c 数组中
  • day2两数相加

    给你两个 非空 的链表 xff0c 表示两个非负的整数 它们每位数字都是按照 逆序 的方式存储的 xff0c 并且每个节点只能存储 一位 数字 请你将两个数相加 xff0c 并以相同形式返回一个表示和的链表 你可以假设除了数字 0 之外 x

随机推荐

  • day3三数之和

    给你一个包含 n 个整数的数组 nums xff0c 判断 nums 中是否存在三个元素 a xff0c b xff0c c xff0c 使得 a 43 b 43 c 61 0 xff1f 请你找出所有和为 0 且不重复的三元组 注意 xf
  • Nginx常见日志分析

    日志格式 39 remote addr remote user time local 34 request 34 status body bytes sent 34 http referer 34 34 http user agent 34
  • python爬虫入门之http协议和 Chrome 浏览器抓包工具

    在浏览器中发送一个http请求的过程 1 当用户在浏览器的地址栏中输入一个URL并按回车键之后 xff0c 浏览器会向HTTP服务器发送HTTP请求 HTTP请求主要分为 Get 34 和 Post 34 两种方法 当我们在浏览器输入URL
  • python爬虫之urllib库学习

    urllib库 urllib库是Python中一个最基本的网络请求库 可以模拟浏览器的行为 xff0c 向指定的服务器发送一个请求 xff0c 并可以保存服务器返 回的数据 urllib库是python内置的一个http请求库 xff0c
  • 爬虫练习之了解反爬虫机制

    没学习之前我理解字面意思就是你爬虫网站 xff0c 然后该网站顺着你的ip等会对你的网络电脑等造成损失 爬虫 使用任何技术手段批量获取网站信息的一种方式 xff0c 关键在批量 反爬虫 使用任何技术手段 xff0c 阻止别人批量获取自己网站
  • python爬虫之cookie

    python爬虫之cookie 什么是cookie 在网站中 xff0c http请求是无状态的 也就是说即使第一次和服务器连接后并且登录成功后 xff0c 第二次请求服务器依然不能知道当前请求是哪个用户 cookie的出现就是为了解决这个
  • python爬虫之request库

    发送get请求 1 最简单的发送get请求就是通过requests get来调用 response 61 requests get 34 URL 34 构造一个向服务器请求资源的Request对象 xff0c 返回一个包含服务器资源的Res
  • 爬虫之数据的提取 使用XPath 及lxml 初学者必备

    一 XPATH是什么 xff1f 干什么用的 xff1f xpath xff08 XML Path Language xff09 是一门在XML和HTML文档中查找信息的语言 xff0c 可用来在XML和HTML文档中对元素和属性进行遍历
  • 刷题之sum-closest

    给定一个包括 n 个整数的数组 nums 和 一个目标值 target 找出 nums 中的三个整数 xff0c 使得它们的和与 target 最接近 返回这三个数的和 假定每组输入只存在唯一答案 示例 xff1a 输入 xff1a num
  • 使用requests和xpath爬取电影天堂

    import requests from lxml import etree from openpyxl import Workbook URL 61 39 https dytt8 net html gndy dyzz list 23 1
  • day4数组之 删除排序数组中的重复项

    26删除排序数组中的重复项 给定一个排序数组 xff0c 你需要在 原地 删除重复出现的元素 xff0c 使得每个元素只出现一次 xff0c 返回移除后数组的新长度 不要使用额外的数组空间 xff0c 你必须在 原地 修改输入数组 并在使用
  • 爬虫之BeautifulSoup4库详解

    BeautifulSoup4库 和 lxml 一样 xff0c Beautiful Soup 也是一个HTML XML的解析器 xff0c 主要的功能也是如何解析和提取 HTML XML 数据 lxml 只会局部遍历 xff0c 而Beau
  • 在 VirtualBox 中安装 Debian 虚拟机

    在 VirtualBox 中安装 Debian 虚拟机 手把手一步一步带你在VirtualBox中安装Debian虚拟机 xff1b 打开VirtualBox软件点击新建 xff1a 配置信息 xff08 示例 xff09 xff1a 名称
  • 爬虫中国天气网数据并可视化

    中国天气网爬虫数据可视化 爬虫功能网页分析 以华北地区为例分析网页源代码 1 以谷歌浏览器为例分析2 提取特征标签3 分析源代码利用requests库获取目标网页源代码利用BeautifulSoup库提取天气信息港澳台地区代码分析分析数据数
  • day5刷题之 删除排序数组中的重复项 II

    80 删除排序数组中的重复项 II 难度中等361 给定一个增序排列数组 nums xff0c 你需要在 原地 删除重复出现的元素 xff0c 使得每个元素最多出现两次 xff0c 返回移除后数组的新长度 不要使用额外的数组空间 xff0c
  • day7刷题之二分搜索2

    33 搜索旋转排序数组 难度中等1187收藏分享切换为英文接收动态反馈 升序排列的整数数组 nums 在预先未知的某个点上进行了旋转 xff08 例如 xff0c 0 1 2 4 5 6 7 经旋转后可能变为 4 5 6 7 0 1 2 x
  • day6刷题之二分搜索1

    二分查找代码 class Solution public int searchInsert int nums int target int left 61 0 right 61 nums length 1 注意循环条件 while left
  • 正则表达式补充篇

    1 re match和re search match 和search 的区别 xff1a match xff08 xff09 函数只检测RE是不是在string的开始位置匹配 xff0c search 会扫描整个string查找匹配matc
  • 爬虫实战之爬取古诗文网站 (详细)

    爬取古诗文网站 重点是练习正则表达式的使用 链接变化 url base 61 39 https www gushiwen cn default aspx 39 for i in range 1 2 print 39 正在爬取第 页 xff1
  • 利用Python爬取糗事百科段子信息

    有个博客很详细https blog csdn net weixin 42488570 article details 80794087 要求 xff1a 用户ID xff0c 用户等级 xff0c 用户性别 xff0c 发表段子文字信息 x