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

yizhihongxing

首先介绍一下什么是Python爬虫。Python爬虫是一种利用Python编程语言进行网络爬取的技术。简单来说,就是自动化地从互联网上抓取网络信息。而抓取糗事百科就可以作为一个练手的例子。

准备工作

在写爬虫之前,你需要做好一些准备工作:

  1. 安装Python环境:在官网下载安装包后,进行安装。建议选择3.7及以上版本。
  2. 安装相关库:Python中已经有了许多库,可以用于网络请求、数据解析、数据库存储等。这里推荐以下库:requests、beautifulsoup4。打开命令行终端,使用pip工具安装:pip install requestspip install beautifulsoup4
  3. 了解HTML基本知识:因为糗事百科的内容存储在HTML文档中,需要你了解一些HTML的基本知识,如标签、属性等。可以查看w3school上的HTML教程。

抓取糗事百科的代码分享

下面是一个简单的抓取糗事百科的例子:

import requests
from bs4 import BeautifulSoup

url = 'https://www.qiushibaike.com/text/page/1/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
html = requests.get(url, headers=headers).text

soup = BeautifulSoup(html, 'html.parser')
content = soup.find_all('span', class_='content')

for c in content:
    print(c.text.strip())

首先,我们引入requests库和BeautifulSoup库,然后构建糗事百科首页的URL,并添加一个User-Agent头部,以便让服务器知道我们是一个正常的浏览器进行访问,而不是一个网络爬虫。

接着,我们使用requests来获取该URL的HTML文本,并使用BeautifulSoup将HTML文本解析成树形结构soup。我们可以利用find_all方法来找到HTML中的某些标签,例如这里的<span class="content"></span>,将其抓取下来,并将其中的文本输出。

运行代码可以得到输出如下:

奔三的姑娘,成天为年纪那点事烦恼。你在为年纪烦恼,妈担心我还不能当妈。
第一次外地出差,看着同事手忙脚乱,不会的就去百度,想想自己之前的哪些闪光点,惊喜发现,果然还真是点亮了象征着生存技能之火种,心里爽!
放弃也需要勇气,不开心就退出,拖延症该不该治,所以想开始学习放弃的艺术,困难职业女装设计师,见过各种各样的完美女人,但更多的完美只存在于人们刻意隐藏的面孔背后。

我们还可以在代码中添加循环,依次抓取每页的内容:

for i in range(1, 10):  # 抓取前十页的内容
    url = 'https://www.qiushibaike.com/text/page/{}/'.format(i)
    html = requests.get(url, headers=headers).text
    soup = BeautifulSoup(html, 'html.parser')
    content = soup.find_all('span', class_='content')
    print('第{}页的段子:'.format(i))
    for c in content:
        print(c.text.strip())

这里的代码稍有修改,使用一个循环来依次抓取前10页的内容,并输出对应的页数和段子内容。输出如下:

第1页的段子:
奔三的姑娘,成天为年纪那点事烦恼。你在为年纪烦恼,妈担心我还不能当妈。
第一次外地出差,看着同事手忙脚乱,不会的就去百度,想想自己之前的哪些闪光点,惊喜发现,果然还真是点亮了象征着生存技能之火种,心里爽!
放弃也需要勇气,不开心就退出,拖延症该不该治,所以想开始学习放弃的艺术,困难职业女装设计师,见过各种各样的完美女人,但更多的完美只存在于人们刻意隐藏的面孔背后。
...
第9页的段子:
今年的菠萝长得棒极了,个头大甜又多的可以,但是还是咳嗽了。以为是寒流还是有什么厉害的原因,但是医生却说是要吃菠萝吃多了!此时此刻也只想到了 ,你太菠萝了!
大学录取通知书,首次见面,拽车门,没有看向我,提着行李,埋了头上了车,就这样走了,真是不知道该说啥嘞
大年初一真是个混乱的日子,前台收缴全员红包后老板决定马上发年终奖,结果发现没钱了,员工疯狂抢奖金却发现里面全部都是白纸条,妈呀,太丧了&#x1f62d;&#x1f62d;

以上就是零基础写Python爬虫之抓取糗事百科的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零基础写python爬虫之抓取糗事百科代码分享 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python基础之值传递和引用传递详解

    Python基础之值传递和引用传递详解 一、概述 在Python中,函数传参的方式有两种:值传递和引用传递。对于初学者而言,这一概念非常重要。 二、值传递(传递不可变类型) 值传递是指在函数调用时,将实际参数的值复制一份放到函数栈内存中,以供函数使用。因此在函数内部对这个参数进行修改,不会对原来的变量造成影响。 例如: def change(a): a = …

    python 2023年5月13日
    00
  • python正则爬取某段子网站前20页段子(request库)过程解析

    下面是“Python正则爬取某段子网站前20页段子(Request库)过程解析”的详细攻略。 1. 前置知识 在学习本篇攻略之前,你需要掌握一些基本的Python知识和爬虫相关知识: Python基础:掌握Python的常用数据类型、流程控制语句、函数等基本知识; requests库:掌握requests库的基本用法,包括发起请求、设置请求头、获取响应内容等…

    python 2023年5月14日
    00
  • Python读取网页内容的方法

    首先介绍一下Python读取网页内容的方法: Python可以使用第三方库requests或urllib来获取网页内容。其中requests是一个功能强大的Python库,能够方便地发送HTTP/1.1请求。而urllib提供了一系列用于操作URL的方法。 下面是使用requests获取网页内容的示例代码: import requests # 发送HTTP请…

    python 2023年6月3日
    00
  • Python实现随机从图像中获取多个patch

    下面我将详细讲解实现“Python实现随机从图像中获取多个patch”的攻略。 步骤1:导入必要的库 使用Python时,首先要导入相关的库。在这个过程中,我们所需要用到的库有numpy、cv2和PIL。 import numpy as np import cv2 from PIL import Image 步骤2:读取图像 使用OpenCV库读取图像,并将…

    python 2023年6月3日
    00
  • python中的多cpu并行编程

    针对题目要求,我为您详细讲解一下 Python 中的多 CPU 并行编程的完整攻略。 什么是多 CPU 并行编程 多 CPU 并行编程是指利用多个 CPU 同时进行任务处理,以提高程序的执行效率和速度。在 Python 中,多 CPU 并行编程多利用多进程或多线程实现,具体方式可以根据不同场景选择不同的模块或库。 多进程并行编程示例 以下是一个用 multi…

    python 2023年5月19日
    00
  • windows上安装python3教程以及环境变量配置详解

    Windows上安装Python3教程 Python是一种通用编程语言,拥有强大而简单易用的特性,广泛用于科学计算、Web开发、人工智能等领域。本教程将介绍在Windows上安装Python3以及环境变量配置的详细步骤。 下载Python3 我们可以从Python官网下载最新版本的Python3。在下载页面(https://www.python.org/do…

    python 2023年5月30日
    00
  • python中django框架通过正则搜索页面上email地址的方法

    在 Django 中,我们可以使用正则表达式来搜索页面上的 email 地址。本文将详细介绍如何在 Django 中使用正则表达式搜索 email 地址,包括正则表达式的编写、如何在 Django 中使用正则表达式等。 编写正则表达式 在编写正则表达式之前,我们需要了解 email 地址的格式。一般来说,email 地址的格式为 username@domai…

    python 2023年5月14日
    00
  • Python如何设置换行输出?Python换行输出的方法

    下面我将为您详细讲解Python中如何设置换行输出以及Python换行输出的方法。 Python换行输出的方法 通过\n实现换行输出 我们可以通过在字符串中插入一个换行符(\n),来实现在输出时的换行。 以下是一个使用换行符实现换行输出的例子: print("Hello,\nWorld!") 运行这段代码,你会发现在输出 “Hello,”…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部