2024-03-16 09:47阅读: 72评论: 0推荐: 0

【笔记】Python爬虫之Xpath、BS4解析

1、Bs4解析

#安装bs 4

import requests
from bs4 import BeautifulSoup
#   1
url=""

resp=requests.get(url)

#   2.将请求到的数据变成 BeautifulSoup 对象
sp=BeautifulSoup(resp.text,'lxml')
#               ↑加.text    ↑固定lxml

#————————————————————————————————————————————————————————————————————————————————————————————————————
#  sp.***   ,***可替换成标签,比如div,a等

#————————————————————————————————————————————————————————————————————————————————————————————————————

#  sp.find(标签,class_="属性")
#  sp.find_all(标签,class_="属性")

#————————————————————————————————————————————————————————————————————————————————————————————————————
#  sp.select(".属性")    可以做选择器,返回的是一个列表       .表示类,后边跟类的属性

#————————————————————————————————————————————————————————————————————————————————————————————————————
#  sp.select(".属性 > ul")  层级选择:.类属性下有个ul的标签
#            ↑ 类的属性  ↑ 标签   # > 两边一定要有空格,>可以连续用
#用空格表示多个层级,>表示一个层级

#————————————————————————————————————————————————————————————————————————————————————————————————————
#获取标签之间的文本等可以直接.text 或 .string 或 get_text()
#如:
# print(sp.select(".属性 > ul").text) 或 print(sp.select(".属性 > ul").string)
#区别:-text get_text()可以获取标签下所有文本内容
#     -string 只可以获取标签下直系文本内容

#————————————————————————————————————————————————————————————————————————————————————————————————————

#sp.a["属性值"],可以获取标签下的属性值,直接跟在...["..."]

 

2、Xpath解析

import requests
from lxml import html
etree = html.etree

#实例化etree对象,运用etree中的xpath方法    安装lxml
#实例化方法:from lxml import html
#          etree = html.etree
#    -1.将本地html文档中源码数据加载到etree对象中:
#         etree.parse(文档)

#    -2.将互联网上加载的源码数据加载到该对象中:
#         etree.HTML(page_text)
#    -xpath(‘xpath表达式’)

#   r=xxx.xpath("xx//xx/xx")  // 表示多个层级,/表示一个层级,相当于空格和 >
#   r=xxx.xpath('div[@class="song"]')   定位到class属性为song的div标签   (属性定位)
#   r=xxx.xpath('div[@class="song"]/p[3]')   索引定位,!!,从1开始,不是从0开始的
#   r=xxx.xpath('div[@class="song"]/p[3]/text()')[0]   加上/text变成文本列表,在外边加[0]表示取列表的第一个元素

#取文本:   /text(),获取表示标签中直系的文本内容   //text(),获取表示标签中所有的文本内容
#取属性值:  r=xxx.xpath('//div[@class="song"]/img/@src')    /img/@src 表示img标签下属性src的值(列表)

 

本文作者:HanaKoo

本文链接:https://www.cnblogs.com/HanaKoo/p/18076738

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   HanaKoo  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
@format
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑
  1. 1 Tiny Light(TV动画《地缚少年花子君》ED)(翻自 鬼頭明里) 柚卟
Tiny Light(TV动画《地缚少年花子君》ED)(翻自 鬼頭明里) - 柚卟
00:00 / 00:00
An audio error has occurred.

作词 : Saku

作曲 : Saku

優しさに触れて残る温度

消えないまま 愛しいと言えたら

心は軽くなるかな

閉ざした扉の向こうで

微かな声が聴こえてる

踏み出すことさえも出来ないから

孤独に寄り添ってる

まだこの胸の中 生きづいたまま

小さな灯し火のような想いを

風に吹かれぬように

雨に濡れないように

ずっと抱きしめてた

ただ 真っ直ぐなまま願う強さも

泣き出しそうになる脆い自分も

君が居なきゃ知らなかったんだよ

偶然の中で運命を見つけた

瞳閉じる度 記憶の海 漂っては

深い夢のあと

面影を探してたんだ

変わらないモノクロの日々に

君が色を添えてくから

滲んだ過去さえもいつの間にか

意味を持ち始めてる

まだこの胸の中隠したままの

痛いほど愛おしい こんな思いを

いつか消えてしまうその前に

届けたい人は 君だけなんだ

どんな涙も どんな笑顔も

全ては君のためにあるから

まだこの胸の中 生きづいたまま

小さな灯し火のような想いを

風に吹かれぬように

雨に濡れないように

ずっと抱きしめてた

ただ 真っ直ぐなまま願う強さも

泣き出しそうになる脆い自分も

君が居なきゃ知らなかったんだよ

偶然の中で運命を見つけた

君がいるだけで世界は変わった