python爬虫-糗事百科段子

python爬虫小项目:爬取糗事百科段子 python爬虫一直是我想要入手的方向,通过对静觅崔庆才的个人博客的学习,完成了一些小项目。在此对其及其博客表示感谢,也推荐大家学习。 本文完成的是抓取糗事百科热门段子中python爬虫代码的python 3.x版本,希望给学习过相同博文且想用python3.x完成的人带来一点启发。 具体步骤请参照抓取糗事百科热门段子,本文仅是成品。本文的正则表达式目前可用。 该项目中用到的pyth 阅读详情


from bs4 import BeautifulSoup
import requests
import threading
import math
import lxml

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0'}


# 获取单个页面内容:
def get_single_page(url, headers):
    html = requests.get(url, headers)
    return html.text


# 解析目标内容
def get_content(pages):
    # 作者
    authors = []
    # 内容
    content = []
    # 作者和内容的字典
    dict_authors_content = {}
    for i in pages:
        soup = BeautifulSoup(i, 'lxml')
        # 作者tag
        author_tag = soup.find_all('h2')
        # 存储作者列表
        for i in author_tag:
            authors.append(i.string)
        # 内容tag
        content_tag = soup.find_all(class_='content')
        # 存储内容列表
        for i in content_tag:
            content.append(i.text)
    # 用zip+dict将2个列表合并为字典
    dict_authors_content = dict(zip(authors, content))

    return dict_authors_content


# 下载到本地
def download(i, tname):
    tname=tname.strip()
    with open('D://meizi/' + tname + '.txt', 'a',encoding='utf-8') as f:
        f.writelines(i[0])
        f.writelines(i[1])


# 每个工作的爬虫线程
# 工作内容:1.解析目标内容.2.下载到本地
class Spider(threading.Thread):
    def __init__(self, pages):
        threading.Thread.__init__(self)  # 初始化线程
        self.pages = pages
        print(self.name)

    def run(self):
        # 目标内容
        content = get_content(self.pages)
        # 将字典转换为可遍历的元组
        content = content.items()
        # 下载到本地
        for i in content:
            download(i, self.name)
        print('下载成功')


def main(page_num):
    # 确定多线程的任务
    # 要抓取的内容列表
    pages = []
    for i in range(page_num):
        i += 1
        url = ('https://www.qiushibaike.com/8hr/page/%d/' % i)
        html = get_single_page(url, headers=headers)
        pages.append(html)
    # 给各个线程安排任务
    # 工作线程
    threads = []
    # 工作线程数量及最大数量
    t_count = 10 if len(pages) >= 10 else len(pages)
    for i in range(t_count):
        # 均分工作量的方式:
        t_page = pages[math.ceil(int((len(pages)) / t_count) * i):math.ceil((int(len(pages) / t_count)) * (i + 1))]
        t = Spider(t_page)
        threads.append(t)
    # 各个线程开始工作
    for i in threads:
        i.start()


if __name__ == '__main__':
    page_num = input('请输入下载的页数:')
    main(int(page_num))


单细胞分析避坑指南:SCTransform和Harmony参数设置详解 本文深入解析了单细胞分析中SCTransform标准化与Harmony批次校正的关键参数设置。针对10x Genomics等数据,详细探讨了如何通过调整`vars.to.regress`、`theta`等核心参数,在有效去除技术噪音的同时,避免过度校正以保留关键的生物学差异,从而提升分析结果的可靠性与可解释性。 阅读详情

相关推荐

【初阶】手把手教你轻松上手Denodo | 连接数据库并创建基本视图 (二)

在本教程的第二部分,我们将涵盖:连接到数据库,与创建基本视图。

Denodo的博客 1106

Python爬虫实战之爬取糗事百科段子

首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故。 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 糗事百科又又又又改版了,博主已经没...

华为云官方博客 2006

从CCD数据上报看wxHOOK的封号风险与规避

本文深入分析了微信CCD数据上报机制对wxHOOK的检测逻辑与封号风险,揭示了调试器路径暴露、非白名单DLL加载和内存校验失败等关键风险点。通过实战案例和规避方案,帮助开发者理解如何安全使用wxHOOK技术,避免封号风险,包括内存镜像欺骗、内核级隐蔽和硬件辅助方案等高级技巧。

weixin_27875131的博客 629

python 初学网络爬虫(糗事百科段子)

#糗事百科的网络爬虫 ,爬出所有段子信息 import requests from lxml import html def reptile_q(url,node): page = requests.Session().get(url) tress = html.fromstring(page.text) contents = tress.xpath(node) ...

qq_29499107的博客 187

RK3568 MIPI屏幕启动异常:从uboot logo到黑屏的排查与修复

本文详细分析了RK3568平台MIPI屏幕在启动过程中,从uboot阶段正常显示logo到内核阶段黑屏的典型故障。通过硬件测量与软件调试,最终定位问题根源在于电源时序,并提供了在设备树中为屏幕供电的regulator节点添加`regulator-boot-on`属性的关键解决方案,有效解决了因内核启动早期电源管理导致的显示异常。

weixin_29161719的博客 541

XR Interaction Toolkit实战:为HTC Vive Cosmos打造抓取、投掷与UI交互(Unity 2023教程)

本文详细介绍了如何使用Unity 2023和XR Interaction Toolkit为HTC Vive Cosmos开发抓取、投掷与UI交互系统。通过实战案例'VR投掷训练室',从基础配置到高级功能实现,涵盖物理抓取、精准投掷机制和VR UI交互设计,帮助开发者提升VR交互开发技能。

weixin_30562507的博客 255

python爬虫实战之翻页爬取糗事百科段子

近期在翻看视频学习爬虫,把每天学习的内容记录下~如有一起学习的爬友就更好了。 爬虫实战之糗事百科段子简单基础1、正则表达式2、信息筛选工具urllib基础实战 简单基础 1、正则表达式 用途:用于信息筛选提取 1、全局匹配函数使用格式: re.compole(‘正则表达式’).findall(‘源字符串’) 普通字符abc 正常匹配-abc 原子 \w 匹配字母、数字、下划线 原子 \W 匹配除

weixin_45498566的博客 1010

【通俗易懂】Windows系统安装TensorRT

NVIDIA TensorRT是一个由NVIDIA公司开发的用于深度学习推理的高性能SDK。它专门设计用于在NVIDIA GPU上进行高效的神经网络推理,能够大幅度提升深度学习模型的推理速度和效率。TensorRT的主要特点包括:模型优化:TensorRT通过层融合、精度校准、动态形状等技术优化模型,减少推理时的计算量和内存占用。多精度推理:支持多种精度推理,包括FP32、FP16、INT8等,以平衡性能和精度。

王尼莫的博客 1587

Python爬虫实战一之爬取糗事百科段子

大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。那么这次为大家带来,Python爬取糗事百科的小段子的例子。 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。 本篇目标 1.抓取糗事百科热门段子 2.过滤带有图片的段子 3.实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数。 糗事百科是不需要登录的,所...

python爬虫教程 323

EEGNet 网络代码解析与实战复现指南

本文详细解析了EEGNet这一轻量级卷积神经网络的结构与设计思想,重点阐述了其利用深度可分离卷积高效处理脑电信号的原理。文章提供了基于PyTorch的完整代码复现指南,包括网络搭建、数据模拟、训练调试及关键参数解析,旨在帮助读者掌握EEGNet的代码复现技巧,并将其应用于脑机接口等实际场景。

honey的博客 532

Python爬虫:抓取外卖平台餐厅菜单、价格与评价数据

美团外卖:国内领先的外卖平台之一,提供餐饮外卖、超市配送等服务。饿了么:另一大主流外卖平台,覆盖广泛的餐饮品类。等:国际性的外卖平台。在本文中,我们将以美团外卖为例,展示如何抓取餐厅的菜单、价格和评价等数据。我们会使用Python的爬虫库,如Scrapy和Selenium,来解决抓取任务。本文详细介绍了如何使用Python爬虫抓取外卖平台上的餐厅菜单、价格、评价等信息。我们展示了如何使用Scrapy和Selenium抓取静态与动态网页数据,如何清洗和存储数据,并讨论了如何应对外卖平台的反爬虫机制。

2201_76125261的博客 1499

python 爬虫 爬取糗事百科段子

在网络上看到有介绍python爬虫爬去糗事百科段子的文章,觉得还挺好玩的,所以照着文章的思路自己重新实现了代码,完成了一个小小的爬虫爬取数据的例子。1.抓取页面的源码首先我们确定好页面的URL是 http://www.qiushibaike.com/hot/page/1,其中最后一个数字1代表页数,我们可以传入不同的值来获得某一页的段子内容。首先来一段基本的页面抓取代码def base_test()

bitcarmanlee的博客 8045

作物生长模型Oryza V3实战2:下载、安装与使用

摘要:ORYZA 现在的应用范围已从单一水稻作物模拟扩展到多个水稻作物模拟。我在csdn站内也上传了“作物生长模型oryza v3大全(含所有参数模板和4个校准程序1个分析工具)”,可以说是全网最全的吧。网上搜索一般下载的v3只有一个a3主程序,不适合作全面与深入的研究,本版本从国外下载回来,一开始少了一个“SoilHydrau.exe”文件,说是有病毒被隔离了,后经历各种技术手段,并向国际水道研究所发送邮件,才得以补全所有的参数化及校准程序、分析工具,来之不易,有缘人得之。

502

python爬虫实例教程爬取糗事百科段子

不过另外注意的是,段子有些是带图片的,如果我们想在控制台显示图片是不现实的,所以我们直接把带有图片的段子给它剔除掉,只保存仅含文本的段子。我们可以发现,带有图片的段子会带有类似下面的代码,而不带图片的则没有,所以,我们的正则表达式的item[3]就是获取了下面的内容,如果不带图片,item[3]获取的内容便是空。糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有的段子是附图的,我们把图抓下来图片不便于显示,那么我们就尝试过滤掉有图的段子吧。方法的用法详情可以看前面说的正则表达式的介绍。

csdn_manong1的博客 436

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

python爬虫经典段子_Python爬虫实战之爬取糗事百科段子

首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。友情提示糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故。现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵!糗事百科又又又又改版了,博主已经没心再去一次次匹配它了,...

weixin_39998859的博客 325

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

python爬虫经典段子_玩转python爬虫之爬取糗事百科段子

大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。那么这次为大家带来,Python爬取糗事百科的小段子的例子。首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。本篇目标抓取糗事百科热门段子过滤带有图片的段子实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数。糗事百科是不需要登录的,所以也没必要用到Cooki...

weixin_39683144的博客 247

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

网络爬虫---爬取糗事百科段子实战

Python网络爬虫 1.知识要求 掌握python基础语法 熟悉urllib模块知识 会使用浏览器伪装技术 如果您对相关知识遗忘了,可以点上面的相关知识链接,熟悉一下。 2.爬取糗事百科段子实战 (1)首先,我们按照之前爬取csnd首页的信息的方式,去爬取糗事百科段子相关内容,你会发现运行后程序报错,看错误原因, ...

渐渐的忘记,赶不上明天(读研ing,2024年毕业) 2107

Python爬虫实战(1):爬取糗事百科段子

Python爬虫入门(1):综述Python爬虫入门(2):爬虫基础了解Python爬虫入门(3):Urllib库的基本使用Python爬虫入门(4):Urllib库的高级用法Python爬虫入门(5):URLError异常处理Python爬虫入门(6):Cookie的使用Python爬虫入门(7):正则表达式Python爬虫入门(8):Beautiful Soup的用法 大家好,前面入

GarfieldEr007的专栏 2861

python地址提取gui界面实例_Python爬虫入门实战/Gui界面/糗事百科段子爬取

运行效果图:————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————先导入我们需要用到以下的几个模块:from Tkinter import * #p...

weixin_39999859的博客 292

[python3]爬虫实战一之爬取糗事百科段子

本篇目标 1.抓取糗事百科热门段子 2.过滤带有图片的段子 3.实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数。 糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有的段子是附图的,我们把图抓下来图片不便于显示,那么我们就尝试过滤掉有图的段子吧。 好,现在我们尝试抓取一下糗事百科的热门段子吧,每按下一次回车我们显示一个段子。

haliofwu的专栏 1699

uniapp实战项目仿糗事百科_Python爬虫实战之爬取糗事百科段子!

首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。Python资源共享群:626017123友情提示糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故。现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵!糗事百科又又又...

weixin_39555951的博客 491

Python爬虫爬取糗事百科段子内容

参照网上的教程再做修改,抓取糗事百科段子(去除图片),详情见下面源码: #coding=utf-8#!/usr/bin/pythonimport urllibimport urllib2import reimport threadimport timeimport sys #定义要抓取的网页#url = 'http://www.qiushibaike.com/hot/'#读取要...

diguan8078的博客 227

Python多线程爬虫实战_爬取糗事百科段子的实例

下面小编就为大家分享一篇Python多线程爬虫实战_爬取糗事百科段子的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 多线程爬虫:即程序中的某些程序段并行执行, 合理地设置多线程,可以让爬虫效率更高 糗事百科段子普通爬虫和多线程爬虫 分析该网址链接得出: https://www.qiushibaike.com/8hr/page/页码/ 多线程爬虫也就和JAVA的多线程差不多,...

python基础编程开发教程 1325

Python爬虫实战-爬取糗事百科段子

1.本文的目的是练习Web爬虫 目标: 1.爬去糗事百科热门段子 2.去除带图片的段子 3.获取段子的发布时间,发布人,段子内容,点赞数。 2.首先我们确定URL为http://www.qiushibaike.com/hot/page/10(可以随便自行选择),先构造看看能否成功 构造代码: 1 # -*- coding:utf-8 -*- 2...

asdfghjkl978564的博客 264
上一篇: python爬虫入门-煎蛋网妹子图片下载
下一篇: mysql查看正在执行的sql语句
LJXZDN
博客等级 码龄9年 37粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值