【笔记】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的值(列表)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值