当前位置: 首页 > news >正文

济南专业做网站做任务给佣金的网站

济南专业做网站,做任务给佣金的网站,淘客网站开发源代码,苏州营销网站建设公司排名首先说一下这节内容在学习过程中存在的问题吧,在爬取百度网页文字时,出现了问题,就是通过表达式在网页搜索中可以定位,但是通过代码无法定位,请教了一位老师,他说是动态链接,目前这部分内容比较…

        首先说一下这节内容在学习过程中存在的问题吧,在爬取百度网页文字时,出现了问题,就是通过表达式在网页搜索中可以定位,但是通过代码无法定位,请教了一位老师,他说是动态链接,目前这部分内容比较陌生,还没有学习到,因此过一段时间在进行补充验证。我一般在学习时都是通过复现作者所写的代码,然后在进行扩展,最后结合网上的思路编写一个想读复杂的案例。

1、实例化etree对象

1.1 etree.parse('HTML文档路径') 使用patse()函数对etree进行实例化(已经验证)

1.2 etree.HTML('网页源码') 使用patse()函数对etree进行实例化(已经验证)

2、用XPath表达式定位标签并提取数据(动态参数存在问题,爬取静态类没有问题)参考文中代码

2.1 定位标签 2.1.1 标签名定位

2.1.2 索引定位

2.1.3 属性定位

2.1.4 逻辑也能算定位

2.2 提取文本内容和属性值

3、快速获取标签节点的Xpath表达式(已经验证)

##############################
##作者:白雪公主的后妈
##时间:2024年1月6日
##主题:Python爬虫基础——Xpath表达式
##主要内容:学习BeaytifulSoup对象中的lxml模块中的etree类,即etree类可以将网页源码实例化为一个etree对象,并shiyongXpanth表达式进行标签定位
###############################1、实例化etree对象
#要使用Xpanth表达式进行数据解析,首先需要实例化一个etree对象,具体方法有两种
#1.1    etree.parse('HTML文档路径')     使用patse()函数对etree进行实例化
# from lxml import etree
# html = etree.parse('text1.html')        #将HTML文档加载到etree类中,实例化成为一个名为html的etree对象
# #1.2    etree.HTML('网页源码')     使用patse()函数对etree进行实例化
# from lxml import etree
# import requests
# #身份码伪装
# header = {"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 Edg/131.0.0.0"}        #浏览器身份验证
# #请求的地址
# url = "https://www.baidu.com"
# #发起请求,并获得网页源代码
# response = requests.get(url,headers=header).text
# html = etree.HTML(response)        #将网页源码加载到etree类中,实例化成为一个名为html的etree对象#2、用XPath表达式定位标签并提取数据
#完成etree对象实例化后,可以使用XPath表达式定位标签并提取数据了
#2.1 定位标签
#2.1.1 标签名定位
'''
假设要定位<ul>标签下的所有<li>标签节点,在途中从上往下依次是<html>标签节点——><div>标签节点2——>
<ul>标签节点2——><li>标签节点1、<li>标签节点2。注意用“/”表示一个层次,用“//”表示多个层次,因此,
上述路径XPath可以表示为“/html/body/div[1]/ul/il”。如果不加分区的定义所有的<li>标签,也可以用"//"。
'''
#2.1.2 索引定位
'''
etree对象的每一个层阶都是一个包含所有标签节点的列表,如果同一层级中有多个同名的标签节点,
使用列表切片就能定位到所需的标签节点,即通过索引定位。
'''
#2.1.3 属性定位
'''
在复杂的网页中,每个标签都有其属性,此时可以通过属性进行定位。
'''
import requests
from lxml import etree
#身份码伪装
header = {"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 Edg/131.0.0.0"}        #浏览器身份验证
#请求的地址
#url = "https://www.baidu.com"
url = "https://www.hongxiu.com/chapter/30300190804146407/81349808731782632"
#发起请求,并获得网页源代码
response = requests.get(url,headers=header).text
# print(response)
html=etree.HTML(response)     #实例化etree对象
# print(html)print(html.xpath('//*[@id="chapter-81349808731782632"]/div/div[2]/div/p'))
#(html.xpath('//*[@id="hotsearch-content-wrapper"]/text()'))            #?????百度这里是动态链接书上给给到的这个方法有问题
# print(html.xpath('//*[@class="title"'))             #用class属性定位标签
'''
"//"表示多层级,处于Xpath表达式的开头代表从任意层级开始定位;“*”代表任意标签;"[@class="title"代表class属性值为"title"
的任意标签。如果拥有同一个class属性的标签不止一个,可以考虑用id属性值来定位。如果还不能达到目的,可以用其他属性来定位,也
可以将上述XPath表达式中的“*”替换为指定的标签名称,如html.xpath('//p[@class="title"')
'''
#2.1.4 逻辑也能算定位
'''
使用上述方法仍然不能定位,可以配合逻辑运算来进行更精确的定位。
'''
# html.xpath('//p[@class="title" and @name="color"]')
# html.xpath('//p[@class="title" or @name="color"]')
#2.2 提取文本内容和属性值
'''
定位到标签节点后,可在Xpath表达中后面添加“/text”来提取该节点下的所有文本内容,添加“text()”来提取该节点的所有文本内容,
添加“/@属性名”来提取该节点的指定属性值
'''
# html.xpath('//*[@class="title"]/text()')
# html.xpath('//*[@class="title"]//text()')
# html.xpath('//*[@class="title"]/@id')
#3、快速获取标签节点的Xpath表达式
'''
在谷歌浏览器中打开一个网页,然后打开开发者工具,在“Elements”选项卡中的网页源码中邮寄要获取的表达式的标签,
选择copy——>copy xpath即可赋值XPath表达式粘贴到爬虫程序中
'''

http://www.yayakq.cn/news/291809/

相关文章:

  • php网站开发示例代码甘肃网络推广公司
  • 百度识图在线使用外贸seo网站推广
  • 手机和pc合一的网站门户网站html下载
  • 机场网站建设密山网站
  • 制作查询网站开微信小程序要钱吗
  • 品牌网站设计标准电商品牌排行榜
  • 江南大学做网站东莞网站建设lhznkj
  • 做花语的网站创建地址怎么弄
  • 怎么看一个网站什么程序做的成都网站内容策划
  • json取数据做网站新型建房有哪几种
  • 全屋定制哪个网站好wordpress 页面跳转
  • 网站维护与排名网页设计与制作案例教程第二版
  • asp.net官方网站wordpress登录非常慢
  • 如何做图让网站的图更清晰如何做网站平台关注
  • 教育培训类网站设计新浪体育最新消息
  • 寿光市住房和城乡建设局网站网上怎么查自己的房产信息
  • 公司的网站建设费用算什么费用上海网页制作哪家好
  • 华蓥网站建设科技作品
  • 中学生制作网站怎么做网站弹幕
  • 搭建微擎网站后怎么做微官网苏州网站建设一站通
  • 外网进入学校内局域网建设的网站做网站php
  • 什么网站做美式软装设计方案百度搜索广告
  • 开一个素材设计网站怎么做的in什么 wordpress
  • 鸿鑫建设集团有限公司网站无锡网站建设策划方案
  • 成都建设银行网站首页深圳广告公司排名
  • 初二怎么做网站wordpress 会员账单
  • 成都网站开发价格高权重网站收录问题
  • 网站开发和嵌入式开发哪个下载中国建设银行app
  • 青岛胶东建设国际机场网站专门做衣服的网站有哪些
  • 郑州华恩科技做网站怎么样红河州seo怎么做整站排名