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

首先介绍一下什么是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 编程之twisted详解及简单实例

    Python编程之Twisted详解及简单实例 Twisted简介 Twisted是一个基于事件驱动和异步网络编程的Python框架。它提供了一组模块用于处理网络通信、多线程、邮件处理、数据库连接等等,可以开发出高扩展性和高性能的网络应用程序。 Twisted框架具有如下特点: 基于事件驱动的模式,能够高效地处理高并发请求。 支持多种协议,如TCP/IP、U…

    python 2023年5月19日
    00
  • python 读写中文json的实例详解

    下面就是对“python 读写中文json的实例详解”的完整攻略。 1. 准备工作 在实现中文JSON的读写之前,我们需要先准备好以下工作: 安装Python 3环境 确保已经安装了Python中的json库(一般Python环境自带) 如果你是第一次安装Python环境,可以选择从官网下载安装包,选择适合自己操作系统的版本进行安装。 如果你已经安装Pyth…

    python 2023年5月31日
    00
  • Python实现读取csv文件并进行排序

    下面是Python实现读取csv文件并进行排序的完整攻略: 1. 读取CSV文件 CSV文件是一种通用的电子表格文件格式,以逗号分隔足以区分不同的数据列,因此读取CSV文件是通过Python中的csv模块实现的,具体步骤如下: import csv with open(‘filename.csv’, ‘r’) as file: reader = csv.re…

    python 2023年6月3日
    00
  • python集合能干吗

    Python集合是一种无序、不重复的数据类型,可以用于存储各种类型的值,例如数字、字符串和元组等。集合非常适合用于数据去重、判断成员关系、求交集和并集等场景。 数据去重 集合最常用的功能之一就是去重。我们可以将一组数据放到一个集合中,自动去除重复的元素。使用方法如下: # 创建一个列表,包含重复元素 nums = [1, 2, 3, 2, 4, 5, 1] …

    python 2023年5月13日
    00
  • Python自定义函数实现求两个数最大公约数、最小公倍数示例

    下面是 Python 自定义函数实现求两个数最大公约数、最小公倍数的详细攻略。 求两个数最大公约数 最大公约数,也称为最大公因数,是两个或多个整数的公共因数中最大的一个数。求两个数的最大公约数,可以使用辗转相除法,也称为欧几里德算法。 辗转相除法 辗转相除法基于下面这个定理:两个数的最大公约数等于其中较小的数和两数相除余数的最大公约数。使用递归方式实现代码如…

    python 2023年6月5日
    00
  • python 实现tar文件压缩解压的实例详解

    Python 实现 tar 文件压缩解压的实例详解 1. tar 文件压缩 代码示例: import tarfile with tarfile.open(‘archive.tar’, mode=’w’) as archive: archive.add(‘file1.txt’) archive.add(‘file2.txt’) 以上代码使用了Python内置的…

    python 2023年6月3日
    00
  • Python函数关键字参数详解

    在Python函数中,关键字参数是一种通过参数名称传递值的方法,而不是按照参数在函数定义中的顺序进行传递。使用关键字参数可以使代码更具可读性,并且可以方便地忽略函数定义中的一些参数。以下是Python函数关键字参数的用法: 定义函数时使用关键字参数 在定义函数时,可以使用关键字参数来指定函数参数的默认值。这样,在调用函数时,如果没有传递参数,则使用默认值。例…

    2023年2月20日
    00
  • Python selenium爬取微博数据代码实例

    Python Selenium爬取微博数据代码实例 本攻略将介绍如何使用Python Selenium爬取微博数据。我们将使用Selenium库模拟浏览器行为,并使用BeautifulSoup库解析HTML响应。 安装Selenium和BeautifulSoup库 在开始前,我们需要安装Selenium和BeautifulSoup库。我们可以使用以下命令在命…

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