为什么在chrome调试工具里面可以定位到的xpath,在etree.html解析不出来

url:https://longbridge.global/news/

xpath:"//*[@id="__layout"]/div/div[2]/div/div/div/div[1]/div[2]/div[2]/div[2]/div"

看结果

代码里面用etree解析不到

全部代码

import requests

from lxml import etree

# 获取网页源码 并以文本形式返回

def get_html(url):

headers = {

"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}

try:

html = requests.get(url=url, headers=headers)

html.encoding = html.apparent_encoding

if html.status_code == 200:

print('成功获取源码')

except Exception as e:

print('获取失败:%s' % e)

return html.text

# 分析html 操作xpath爬取关键元素,以键值对形式返回

def parse_html(html):

all_info = []

html = etree.HTML(html)

lis = html.xpath("//*[@id='__layout']/div/div[2]/div/div/div/div[1]/div[2]/div[2]/div[2]/div")

print(len(lis))

# for li in lis:

# title = \

# li.xpath("//*[@id=\"__layout\"]/div/div[2]/div/div/div/div[1]/div[2]/div[2]/div[2]/div[1]/div/div/div[1]/a[0]/text()")

# content = li.xpath("//*[@id=\"__layout\"]/div/div[2]/div/div/div/div[1]/div[2]/div[2]/div[2]/div[1]/div/div/div[1]/a[1]")

# news_from = li.xpath("//*[@id=\"__layout\"]/div/div[2]/div/div/div/div[1]/div[2]/div[2]/div[2]/div[1]/div/div/div[2]/span")

# print(type(title))

# print(title, content, news_from)

# one_info = [title, content, news_from]

# all_info.append(one_info)

# return all_info

if __name__ == '__main__':

text = get_html("https://longbridge.global/news/")

parse_html(text)

html页面tree方法,etree.html的用法问题相关推荐

  1. html对话框跳转页面,html5各种页面切换效果和模态对话框用法总结

    这篇文章主要为大家介绍了html5各种页面切换效果和模态对话框用法总结,较为详细的介绍了HTML5的各种页面元素的使用技巧,非常具有实用价值,需要的朋友可以参考下 本文详细总结了html5各种页面切换 ...

  2. vue刷新页面如何保证路由不变_vue 刷新之后 嵌套路由不变 重新渲染页面的方法...

    vue 刷新之后 嵌套路由不变 重新渲染页面的方法 解决嵌套路由刷新时,路由没有变化,正常情况下页面是不会重新渲染的 1.在router-view中加上条件渲染 v-if 默认为true.让它显示出来 ...

  3. html离开页面时,js实现用户离开页面前提示是否离开此页面的方法(包括浏

    本文实例讲述了js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件).分享给大家供大家参考.具体如下: 用户离开页面前,提示是否离开此页面(包括浏览器按钮事件) 如果在退出页面时需要弹出 ...

  4. HTML5跳转页面并传值以及localStorage的用法

    1.首先,你得在那个页面把数据存入localStorage中吧.这个是必须的! localStorage.setItem("user",JSON.stringify(data.al ...

  5. ASP.NET生成静态页面的方法

    使用ASP.NET生成静态页面的方法有两种,第一种是使用C#在后台硬编码,第二种是读取模板文件,使用字符串替换的方法.第一种方法编码量大,而且维护比较困难.我重点讲解第二种方法.第二种方法的基本思路是 ...

  6. layui table 弹出层刷新_layui 关闭open弹出框 刷新table表格页面的方法

    layui 关闭open弹出框 刷新table表格页面的方法 如下所示: 保存后刷新table表格 源码 //弹出框 layer.open({ type: 2, shadeClose: true, s ...

  7. 如何拆分PDF,PDF拆分页面的方法

    使用PDF文件在大家的工作中已经是很常见的了,PDF文件的修改是需要借助到PDF编辑器,在使用PDF文件的时候,由于文件过大需要将文件进行拆分,而拆分文件的时候,有拆分文档以及拆分页面,那么,怎么使用 ...

  8. 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...

    页面传值--最佳答案6种方式: 一. 使用QueryString变量 QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全 ...

  9. php实现返回界面,PHP实现模仿socket请求返回页面的方法

    本文实例讲述了PHP实现模仿socket请求返回页面的方法.分享给大家供大家参考.具体实现方法如下: $url = "www.XXXX.com"; //自己做替换 $parse = ...

最新文章

  1. centos下添加管理员组和添加管理员用户及相关操作
  2. Winform中自定义xml配置文件,并配置获取文件路径
  3. 交互式计算机图形学总结:第七章 离散技术
  4. python模块中的__all__属性
  5. php 派生类 构造,C++派生类的构造函数和析构函数
  6. LeetCode 893. 特殊等价字符串组
  7. CDays-3 习题二 (字典及文件读取练习)及相关内容解析。Python 基础教程
  8. mysql多实例和主从区别_mysql多实例的安装以及主从复制配置
  9. 4.13_chain_of_responsibility_行为型模式:责任链模式
  10. 记事本之修改非txt文档
  11. Java_基础_fail-fast
  12. 3gfax服务器接收文件,3G-FAX单机版操作指南 - AOFAX—传真服务器,网络传真.DOC
  13. 大数据智能算法及测评技术
  14. 1.firefox缺少flash插件
  15. 制作OpenOffice的Docker镜像并添加中文字体解决乱码问题
  16. Ubuntu中解压出现:bzip2: (stdin) is not a bzip2 file.
  17. python求x的y次方logn_[转载]关于开14次方的计算方法
  18. 世界互联网大会展示前沿技术热议创新方向
  19. css过渡和css动画的区别是什么?
  20. http://blog.csdn.net/zxl333/article/details/46624951

热门文章

  1. 01.软件测试基础知识整合
  2. acm Piggy-Bank
  3. 计算机职业资格证书有哪些
  4. 基于Ubuntu20.04 GTX960m搭建cudacunn
  5. 第十一届蓝桥杯 单片机设计与开发省赛试题
  6. Halcon知识:gray_tophat 顶帽变换和底帽变换
  7. 条款20 宁以pass-by-reference-to-const替换pass-by-value
  8. 微信开发者工具 复制粘贴一行 快捷键
  9. 知意字稿的语音转文字功能真的好用吗?
  10. 前端调用手机摄像头权限进行扫码解析