python爬虫之使用bs4方法进行数据解析

这篇具有很好参考价值的文章主要介绍了python爬虫之使用bs4方法进行数据解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2. 代码实现

import requests
from bs4 import BeautifulSoup
if __name__ == '__main__':
	# 一、网址分析
    # 对首页的页面数据进行爬取
    # 1. 模拟浏览器
    headers = {
        'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
    }
    # 2. 指定URL
    url = 'https://www.shicimingju.com/book/sanguoyanyi.html'
    # 3. 发起请求
    #【response.content】不会解码,直接以二进制形式返回,常用于文本响应
    #【response.text】会自动根据http头部去推测网页的编码,解码并返回解码后的文本,常用于图片和视频
    # 注意:由于使用【response.text】时,会解码返回,但是解码后的文本与原网页编码不一致,从而导致【中文乱码】
    # 处理【中文乱码】三种方法:
    #(1)修改网页文本的获取方法,直接将response.text改为response.content
    #(2)手动设定响应数据的编码格式;
    # response = requests.get(url)
    # response.encoding = 'utf-8'
    # page_text = response.text
   	# (3) 通用处理中文乱码的解决方案 
   	# 返回的对象名称 = 对象名称.encode('iso-8859-1').decode('gbk')
   	# 例如:title = title.encode('iso-8859-1').decode('gbk')
    page_text = requests.get(url=url, headers=headers).content

    # 二、数据解析
    # 在首页中解析出章节的标题和详情页的URL
    # 使用bs4进行数据解析
    # 1. 实例化BeautifulSoup对象,需要将页面源码数据加载到该对象中
    soup = BeautifulSoup(page_text,'lxml')
    # 2. 解析章节标题和详情页的URL
    # 根据select层级选择器,获取li标签中的所有a标签(获取章节标题)
    li_list = soup.select('.book-mulu > ul > li')
    # 持久化存储
    fp = open('./sanguo.txt', 'w', encoding='utf-8')

    # 获取li标签里的a标签
    for li in li_list:
        # 获取章节标题
        # 通过bs4方法直接获取a标签直系文本。string:只可以获取直系文本
        title = li.a.string
        # 对URL进行拼接,获取详情页的URL
        detail_url = 'https://www.shicimingju.com' + li.a['href']
        # 对详情页发起请求
        detail_page_text = requests.get(url=detail_url,headers=headers).content

        # 解析出详情页中相关的章节内容,重新实例化一个详情页bs对象,lxml解析器
        detail_soup = BeautifulSoup(detail_page_text,'lxml')
        # 定位class属性
        div_tag = detail_soup.find('div',class_='chapter_content')
        # 解析到了章节的内容,利用text方法获取
        content = div_tag.text
        # 持久化存储
        fp.write(title+':'+content+'\n')
        print(title,'爬取成功!!!')

文章来源地址https://www.toymoban.com/news/detail-713840.html

到了这里,关于python爬虫之使用bs4方法进行数据解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python-网络爬虫.BS4

    BS4 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库, 它能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方 式。 Beautiful Soup 4 官方文档: https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ 帮助手册: https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/ 一、安装Beaut

    2024年02月14日
    浏览(23)
  • python爬虫8:bs4库

    前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好影响。 目录结构 1. 概述与安装 ​ bs4是BeautifulSoup4的简

    2024年02月12日
    浏览(23)
  • 【Python爬虫】Python爬虫三大基础模块(urllib & BS4 & Selenium)

    参考资料 Python爬虫教程(从入门到精通) Python urllib | 菜鸟教程 Beautiful Soup 4 入门手册_w3cschool Selenium入门指南 Selenium教程 什么是 Scrapy|极客教程 Scrapy入门教程 1、网络爬虫是什么? 我们所熟悉的一系列 搜索引擎都是大型的网络爬虫 ,比如百度、搜狗、360浏览器、谷歌搜索等

    2024年02月12日
    浏览(32)
  • 解析库bs4的使用

    安装: pip3 install Beautifulsoup4 1.bs4遍历文档树 bs4:解析xml格式的模块,从xml中找想要的数据。 html是xml的一种,解析html,使用requests返回的数据,可能是json、html、文件,再使用bs4解析html格式。 用法: 注:lxml比html.parser速度块,但是需要安装lxml模块( pip3 install lxml ) 2.bs4搜

    2024年02月12日
    浏览(31)
  • Python爬虫|基础知识点详细汇总(requests、urllib、re、bs4、xpath、PyQuery、jsonpath、多线程、协程、数据保存、selenium)

    1. 请求数据 ① requests (1) 基本使用 参数 对响应内容的操作 (2) Requests进阶:使用Session 为什么要用 Session? Session代表服务器与浏览器的一次会话过程,Session对象存储了特定用户会话所需的信息 例如:一定时间内记录账号密码 (自动登录) 可以加快 requests请求速度 需要客户端登录的

    2023年04月08日
    浏览(37)
  • 使用Selenium和bs4进行Web数据爬取和自动化(爬取掘金首页文章列表)

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客 文章浏览阅读2.9k次,点赞85次,收藏12次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、

    2024年03月18日
    浏览(45)
  • 【用Vscode实现简单的python爬虫】从安装到配置环境变量到简单爬虫以及python中pip和request,bs4安装

    第一步:安装python包  可以默认,也可以选择自己想要安装的路径 python下载资源链接: Download Python | Python.org 第二步: 配置python环境变量,找到我的电脑-属性-高级-环境变量 找到python,新增 然后将刚刚安装的路径配置到path路径下: 特别注意,配置了环境变量后要进行重启电

    2024年02月15日
    浏览(37)
  • python---------bs4爬取数据的一种神器

     欢迎小可爱们前来借鉴我的gtieehttps://gitee.com/qin-laoda Beautiful Soup的简介 解析⼯具对⽐ BeautifulSoup的基本使⽤ 解析器 搜索⽂档树 CSS常⽤选择器介绍 select和css选择器提取元素 _______________________________________________ 前面我已经介绍了正则表达式,下面我们来介绍bs4 Beautiful Soup是py

    2024年02月09日
    浏览(30)
  • python的bs4模块

    Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。Beautiful Soup 语法简单,使用方便,并且容易理解,因此您可以快速地学习并掌握它。 而 html.parser 表示解析文档时所用的解析器,此处的解析器也可以是 ‘l

    2024年02月07日
    浏览(28)
  • 【问题解决】python安装bs4后,仍然报错 ModuleNotFoundError: No module named ‘bs4‘

    我这里是windows上使用出现的问题: 使用 python3.7 : pip install bs4 后 Python37Libsite-packages 文件夹下只有 bs4-0.0.1-py3.7.egg-info ,没有 bs4 文件夹(安装过程中会有,但是安装完成后被删除了)。 会同时安装 BeautifulSoup4 ,相当于执行 pip install BeautifulSoup4 ,生成了 beautifulsoup4-4.12.0

    2024年02月03日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包