零基础写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变为可执行文件

    下面我会为您详细讲解如何将 Python 代码转换为可执行文件,包含两条示例说明。 准备工作 在开始之前,需要先确保计算机中安装了 pyinstaller 这个第三方库。如果没有安装,可以通过以下命令来安装: pip install pyinstaller 步骤一:生成打包文件 打开终端并转换到要转换为可执行文件的 Python 文件所在目录。 在终端中运行…

    python 2023年5月30日
    00
  • 浅谈Python中的异常和JSON读写数据的实现

    浅谈Python中的异常和JSON读写数据的实现 异常 在Python的编程中,我们经常会遇到一些错误的情况,例如除零、未找到相关文件、远程服务器连接失败等等。这些错误称为异常。 Python中提供了try…except的语句来捕捉异常并进行处理。其语法如下: try: # 执行代码块 except 异常类型1: # 处理异常类型1的代码块 except…

    python 2023年5月13日
    00
  • python manage.py runserver流程解析

    Python manage.py runserver流程解析 在Django项目中,我们可以使用python manage.py runserver命令来启动开发服务器。本文将详细介绍python manage.py runserver命令的流程,并提供两个示例。 命令流程 python manage.py runserver命令的流程如下: 检查当前目录下…

    python 2023年5月15日
    00
  • 获取python的list中含有重复值的index方法

    获取Python的list中含有重复值的index方法通常可以通过以下两种方式实现: 1.使用循环遍历 可以使用循环遍历的方式,逐个判断list中的元素是否重复,如果重复,则将该元素的index加入到一个新的列表中。具体代码如下: lst = [1, 2, 3, 4, 5, 2, 6, 7, 8, 2] duplicates = [] for i in ra…

    python 2023年6月3日
    00
  • Python使用Shelve保存对象方法总结

    下面是关于“Python使用Shelve保存对象方法总结”的完整攻略: 什么是Shelve? Shelve是Python标准库中的一种对象持久化存储方式,可以将Python对象保存到文件中,再从文件中读取对象。Shelve使用起来非常方便,对于小型对象或数据可以方便地进行存储和访问,但是对于大型对象或数据,可能会出现性能瓶颈。 Shelve的基本用法 She…

    python 2023年6月2日
    00
  • python函数修饰符@的使用方法解析

    在Python中,可以使用函数修饰符@来装饰函数,以实现一些特定的功能。以下是@的使用方法解析: 基本用法 @的基本用法是将一个函数修饰为另一个函数。以下是一个简单的示例: def my_decorator(func): def wrapper(): print("Before function is called.") func() p…

    python 2023年5月14日
    00
  • python正则表达式实例代码

    当我们需要对文本进行匹配、查找、替换、分割等操作时,正则表达式是一种非常强大的工具。在Python中,我们可以使用re模块来处理正则表达式。本文将详细讲解Python正则表达式实例代码的完整攻略,包括正则表达式的基本语法、常用函数和两个示例说明。 正则表达式的基本语法 正则表达式是由普通字符和元字符组成的字符串,用来描述文本模式。下面是一些常用的正则表达式元…

    python 2023年5月14日
    00
  • 详解PyMySQL插入字典类型的数据

    接下来我将详细讲解“详解PyMySQL插入字典类型的数据”的完整攻略。 什么是PyMySQL? PyMySQL是一个基于Python语言实现的MySQL数据库操作库。它使用纯Python语言编写,无需额外依赖,使用灵活简单,并且完全兼容MySQL数据库。 PyMySQL插入字典类型的数据 在Python中,字典类型是非常常见的数据类型之一。但是,在将字典类型…

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