Python爬虫实战演练之采集糗事百科段子数据

目录
  • 知识点
  • 爬虫基本步骤:
  • 爬虫代码
    • 导入所需模块
    • 获取网页地址
    • 发送请求
    • 数据解析
    • 保存数据
  • 运行代码,得到数据

知识点

1.爬虫基本步骤
2.requests模块
3.parsel模块
4.xpath数据解析方法
5.分页功能

爬虫基本步骤:

1.获取网页地址 (糗事百科的段子的地址)
2.发送请求
3.数据解析
4.保存 本地

爬虫代码

导入所需模块

import re
import requests
import parsel

获取网页地址

url = 'https://www.qiushibaike.com/text/'
# 请求头   伪装客户端向服务器发送请求
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
}

发送请求

requ = requests.get(url=url, headers=headers).text

数据解析

sel = parsel.Selector(requ)  # 解析对象 <Selector xpath=None data='<html xmlns="http://www.w3.org/1999/x...'>
href = sel.xpath('//body/div/div/div[2]/div/a[1]/@href').getall()
for html in href:
    txt_href = 'https://www.qiushibaike.com' + html
    requ2 = requests.get(url=txt_href, headers=headers).text
    sel2 = parsel.Selector(requ2)
    title = sel2.xpath('//body/div[2]/div/div[2]/h1/text()').get().strip()
    title = re.sub(r'[|/\:?<>*]','_',title)
    # content = sel2.xpath('//div[@class="content"]/text()').getall()
    content = sel2.xpath('//body/div[2]/div/div[2]/div[2]/div[1]/div/text()').getall()
    contents = '\n'.join(content)

保存数据

with open('糗事百科text\\'+title + '.txt', mode='w', encoding='utf-8') as fp:
    fp.write(contents)
    print(title, '下载成功')

运行代码,得到数据

【付费VIP完整版】只要看了就能学会的教程,80集Python基础入门视频教学

点这里即可免费在线观看

到此这篇关于Python爬虫实战演练之采集糗事百科段子数据的文章就介绍到这了,更多相关Python 采集糗事百科段子内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python opencv通过按键采集图片源码

    一.python版本 写了个python opencv的小demo,可以通过键盘按下字母s进行采集图像. 功能说明 "N" 新建文件夹 data/ 用来存储图像 "S" 开始采集图像,将采集到的图像放到 data/ 路径下 "Q" 退出窗口 python opencv源码 ''' "N" 新建文件夹 data/ 用来存储图像 "S" 开始采集图像,将采集到的图像放到 data/ 路径下 "Q&qu

  • Python爬虫入门案例之回车桌面壁纸网美女图片采集

    目录 知识点 环境 目标网址: 爬虫代码 导入模块 发送网络请求 获取网页源代码 提取每个相册的详情页链接地址 替换所有的图片链接 换成大图 保存图片 图片名字 翻页 爬取结果 知识点 requests parsel re os 环境 python3.8 pycharm2021 目标网址: https://mm.enterdesk.com/bizhi/63899-347866.html [付费VIP完整版]只要看了就能学会的教程,80集Python基础入门视频教学 点这里即可免费在线观看 注意:

  • python爬虫中采集中遇到的问题整理

    在爬虫的获取数据上,一直在讲一些爬取的方法,想必小伙伴们也学习了不少.在学习的过程中遇到了问题,大家也会一起交流解决,找出不懂和出错的地方.今天小编想就爬虫采集数据时遇到的问题进行一个整理,以及在遇到不同的问题时,我们应该想的是什么样的解决思路,具体内容如下分享给大家. 1.需要带着cookie信息访问 比如大多数的社交化软件,基本上都是需要用户登录之后,才能看到有价值的东西,其实很简单,我们可以使用Python提供的cookielib模块,实现每次访问都带着源网站给的cookie信息去访问,这

  • Python编程实现下载器自动爬取采集B站弹幕示例

    目录 实现效果 UI界面 数据采集 小结 大家好,我是小张! 在<Python编程实现小姐姐跳舞并生成词云视频示例>文章中简单介绍了B站弹幕的爬取方法,只需找到视频中的参数 cid,就能采集到该视频下的所有弹幕:思路虽然很简单,但个人感觉还是比较麻烦,例如之后的某一天,我想采集B站上的某个视频弹幕,还需要从头开始:找cid参数.写代码,重复单调: 因此我在想有没有可能一步到位,以后采集某个视频弹幕时只需一步操作,比如输入想爬取的视频链接,程序能自动识别下载 实现效果 基于此,借助 PyQt5

  • 基于Python爬虫采集天气网实时信息

    相信小伙伴们都知道今冬以来范围最广.持续时间最长.影响最重的一场低温雨雪冰冻天气过程正在进行中.预计,今天安徽.江苏.浙江.湖北.湖南等地有暴雪,局地大暴雪,新增积雪深度4-8厘米,局地可达10-20厘米.此外,贵州中东部.湖南中北部.湖北东南部.江西西北部有冻雨.言归正传,天气无时无刻都在陪伴着我们,今天小编带大家利用Python网络爬虫来实现天气情况的实时采集. 此次的目标网站是绿色呼吸网.绿色呼吸网站免费提供中国环境监测总站发布的PM2.5实时数据查询,更收集分析关于PM2.5有关的一切报

  • Python爬虫实战演练之采集糗事百科段子数据

    目录 知识点 爬虫基本步骤: 爬虫代码 导入所需模块 获取网页地址 发送请求 数据解析 保存数据 运行代码,得到数据 知识点 1.爬虫基本步骤 2.requests模块 3.parsel模块 4.xpath数据解析方法 5.分页功能 爬虫基本步骤: 1.获取网页地址 (糗事百科的段子的地址) 2.发送请求 3.数据解析 4.保存 本地 爬虫代码 导入所需模块 import re import requests import parsel 获取网页地址 url = 'https://www.qiu

  • 玩转python爬虫之爬取糗事百科段子

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

  • Python爬虫实战演练之采集拉钩网招聘信息数据

    目录 本文要点: 环境介绍 本次目标 爬虫块使用 内置模块: 第三方模块: 代码实现步骤: (爬虫代码基本步骤) 开始代码 导入模块 发送请求 解析数据 加翻页 保存数据 运行代码,得到数据 本文要点: 爬虫的基本流程 requests模块的使用 保存csv 可视化分析展示 环境介绍 python 3.8 pycharm 2021专业版 激活码 Jupyter Notebook pycharm 是编辑器 >> 用来写代码的 (更方便写代码, 写代码更加舒适) python 是解释器 >&

  • 零基础写python爬虫之抓取糗事百科代码分享

    项目内容: 用Python写的糗事百科的网络爬虫. 使用方法: 新建一个Bug.py文件,然后将代码复制到里面后,双击运行. 程序功能: 在命令提示行中浏览糗事百科. 原理解释: 首先,先浏览一下糗事百科的主页:http://www.qiushibaike.com/hot/page/1 可以看出来,链接中page/后面的数字就是对应的页码,记住这一点为以后的编写做准备. 然后,右击查看页面源码: 观察发现,每一个段子都用div标记,其中class必为content,title是发帖时间,我们只需

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

    多线程爬虫:即程序中的某些程序段并行执行, 合理地设置多线程,可以让爬虫效率更高 糗事百科段子普通爬虫和多线程爬虫 分析该网址链接得出: https://www.qiushibaike.com/8hr/page/页码/ 多线程爬虫也就和JAVA的多线程差不多,直接上代码 ''' #此处代码为普通爬虫 import urllib.request import urllib.error import re headers = ("User-Agent","Mozilla/5.0

  • Python爬虫爬取糗事百科段子实例分享

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

  • Python 制作糗事百科爬虫实例

    早上起来闲来无事做,莫名其妙的就弹出了糗事百科的段子,转念一想既然你送上门来,那我就写个爬虫到你网站上爬一爬吧,一来当做练练手,二来也算找点乐子. 其实这两天也正在接触数据库的内容,可以将爬取下来的数据保存在数据库中,以待以后的利用.好了,废话不多说了,先来看看程序爬取的数据结果 值得一提的是,我在程序中想一下子爬取糗事百科 30 页的内容,但是出现了连接错误,当我把页数降到 20 页的时候,程序就可以正常的跑起来了,不知道是什么原因,渴望知道的大神可以告诉我一声,感激不尽. 程序非常简单,直接

  • NodeJS爬虫实例之糗事百科

    1.前言分析 往常都是利用 Python/.NET 语言实现爬虫,然现在作为一名前端开发人员,自然需要熟练 NodeJS.下面利用 NodeJS 语言实现一个糗事百科的爬虫.另外,本文使用的部分代码是 es6 语法. 实现该爬虫所需要的依赖库如下. request: 利用 get 或者 post 等方法获取网页的源码. cheerio: 对网页源码进行解析,获取所需数据. 本文首先对爬虫所需依赖库及其使用进行介绍,然后利用这些依赖库,实现一个针对糗事百科的网络爬虫. 2. request 库 r

  • ruby+nokogori抓取糗事百科前10页并存储进数据库示例

    ruby,nokogori,爬取糗事百科最新的10页加图片比并同时保存进文本跟数据库 复制代码 代码如下: #encoding:utf-8require "open-uri"require "nokogiri"require "mysql"@dbh=Mysql.real_connect("localhost","root","dengli","pachong")@fi

  • 下载糗事百科的内容_python版

    复制代码 代码如下: #coding:utf-8 import urllib.request import xml.dom.minidom import sqlite3 import threading import time class logger(object): def log(self,*msg): for i in msg: print(i) Log = logger() Log.log('测试下') class downloader(object): def __init__(se

随机推荐