美文网首页
Python3 获取xml的返回内容:使用BS4解析库

Python3 获取xml的返回内容:使用BS4解析库

作者: Queenie的学习笔记 | 来源:发表于2019-12-06 10:26 被阅读0次
1. BS4 介绍

BS4 全称 BeautifulSoup 4.4,是一个可以从xml或html文件中提取数据的Python库,在接口测试过程中可用于解析返回xml格式的内容,配合 requests 库,提取目标字段,最终实现参数传递和接口断言的功能。
官网:https://beautifulsoup.readthedocs.io/zh_CN/latest/

2. 基本解析语法

① find_all 查找结果是一个list对象,find 只查找一个(返回第一个),指定数量需要使用 limit 参数
② get_text() 获取 tag 标签下所有的文本
③ replace 替换字符串里面的特殊字符,如replace("\n",""),将换行删除
④ Contents返回所有的子 Tag(list)

3. 练习:爬取“摄图网”图片
import requests,json
from bs4 import BeautifulSoup  #如果没有安装,记得使用pip install beautifulsoup4 命令先完成安装

res = requests.get('http://699pic.com/sousuo-218808-13-1.html')  #访问摄图网,获取返回内容
#print(res.content)  #调试用,可观察返回内容

soup = BeautifulSoup(res.content,"html.parser")  # Python标准库解析器,详见官网
images = soup.find_all(class_="lazy")  #F12控制台看图片在哪个tag下,摄图网是在class=lazy标签节点下
#print(images)   #调试用,可观察返回内容
images_url_collection = []  #用于后续放入txt文件中

for i in images:
    try:
        title = i["title"]  #抓取图片的标题
        url_image = i["data-original"]  #抓取图片的url(data-original是从F12控制台中观察到的)
        images_url_collection.append(url_image)  #每找到一个url,放入list中,用于后续txt文件
        
        #print(title,url_image)  #打印调试用
        ima = requests.get(url_image)  #再次请求该url
#print(len(images_url_collection))  #打印调试用

        #1. 下载到指定目录
        with open("D://djangostudy//zhuatu//"+title+".jpg","wb") as file:  #匹配图片标题,wb写入权限
            file.write(ima.content)
    except Exception as msg:  #如有异常,打印异常信息
        print(msg)
'''
# 2. 如果是写入txt文件,则用以下代码
with open("D://djangostudy//zhuatu//"+"zhuatu.txt","w") as f:
    f.write("\n".join(images_url_collection))
'''



相关文章

  • Python3 获取xml的返回内容:使用BS4解析库

    1. BS4 介绍 BS4 全称 BeautifulSoup 4.4,是一个可以从xml或html文件中提取数据的...

  • 用jsonpath解析文档

    今天请求的网站是360教育的文章索引页,本来想着用bs4库来解析复习一下BS4库。然而没有想到返回的内容是JSON...

  • xpath , beautifulsoup4 , pyquery

    xpath xpath 语法 xpath的使用: 常用的语法: 使用bs4 文档解析器常用的两种 获取文本内容 p...

  • 爬虫学习一

    1.使用BeautifulSoup库解析网页 from bs4 import BeautifulSoup 2.使用...

  • python解析xml一些心得体会

    本文仅针对使用elementtree解析xml的情况。 1、使用.text获取某个标签文本的时候,一定注意判断返回...

  • Android15-XML和JSON解析

    1. XML解析的两种方式 服务器返回的XML数据如下 1.1使用Pull方式解析XML数据 使用Pull解析,首...

  • 2017-12-26

    js解析XML 获取内容 --END--

  • Spider_anjukeNewHouse

    获取页面后使用bs4进行解析,熟悉除lxml解析的另一种页面解析方式。本次爬取内容为安客居上新房的信息,主要包括新...

  • lxml库与Xpath语法

    lxml库使用Xpath语法解析定位网页数据。 lxml库的使用 (1)修正HTML代码 lxml为XML解析库,...

  • (2019-03-20)requests+beautifulso

    #requests http库用于获取网页内容 #beautifulsoup 解析库,用于解析网页内容,此外,还...

网友评论

      本文标题:Python3 获取xml的返回内容:使用BS4解析库

      本文链接:https://www.haomeiwen.com/subject/pausgctx.html