xpath 获取元素及爬虫实例

news/2024/7/19 8:58:10 标签: 爬虫, python, ui

主流爬虫方法分类:
1,selenium+Chrome/PhantomJS
2,Requests+正则表达式
3,Requests+ BeautifulSoup
4,Requests+分析ajax
5,Requests+xpath(lxml包)或CSS
今天要讲的第5种。

  1. 原理:将有可能不合法的HTML 解析为统一格式。 虽然Lxml可以正确解析属性两侧缺失的引号,并闭合标签,不过该模块没有额外添加<
    html >和<body>标签 。CSS其实和lxml在内部实现相似,实际上是将CSS选择器转换为等价的Xpath选择器。
  2. 速度:Lxml模块使用 C语言编写,所以速度和re正则一样,非常快。
  3. 场景:大部分的页面解析和内容抓取。涉及到js和ajax的需要先加载js、ajax请求,再对页面进行解析和xpath定位抓取。
  4. 依赖库:lxml from lxml import etree
  5. 基本用法:Selector = etree.HTML(网页源代码)

      Selector.xpath(一段神奇的符号)
  6. xapth表达式:
    image

7,xpath推荐学习链接:
https://www.cnblogs.com/lei0213/p/7506130.html

xpath定位方法:
image
(源码见附件)


http://www.niftyadmin.cn/n/835144.html

相关文章

剑指Offer 面试题3 二维数组中查找

剑指Offer 面试题3 二维数组中查找 参加鹅厂实习生笔试,在算法上被虐惨,做项目花了大部分时间,算法能力没能提高,迫切需要提高算法能力。遂收集各种面试题,刷刷算法。 本文参考《剑指offer 名企面试官精讲典型编程题》…

es6新增的数组遍历方式

1、some方法 1)some() 方法测试是否至少有一个元素通过由提供的函数实现的测试。 2)参数列表: arr.some(callback(element[, index[, array]])[, thisArg])callback:匿名回调element:数组内的每个元素Index:索引array:数组的引用3)功能some()…

你还没搞懂this?

一、前言 this关键字是JavaScript中最复杂的机制之一。它是一个很特别的关键字,被自动定义在所有函数的作用域中。对于那些没有投入时间学习this机制的JavaScript开发者来说,this的指向一直是一件非常令人困惑的事。 二、了解this 学习this的第一步是明白…

AssetDatabase的方法总结

AssetDatabase的方法总结 1、AssetDatabase.FindAssets public static string[] FindAssets(string filter);public static string[] FindAssets(string filter, string[] searchInFolders); filter该筛选器字符串可以包含:名称、资产标签和类型(类名称&…

spring中的web上下文,spring上下文,springmvc上下文区别(超详细)(转载)

查看原文转载于:https://www.cnblogs.com/liuys635/p/10530556.html

hihoCoder-1839 榶榶榶 数学

题面 题意:给你一个500000长度的数字,然后环形的让每位做头,例如123,就有123,231,312三个,然后问这n个数字的和S,S的最小非1因子是多少 题解:每个数字在每个位置都会有一次,如果说所有数字之和为A(1234的A就是10),那么原始长度为N的数,S就一定长成AAAAAAAAAAAAAA 也就是 SA*10…

简单了解escape,encodeURI,encodeURIComponent

encodeURI()和decodeURI() encodeURI用于编码URI,而decodeURI对应解码URI,encodeURI和decodeURI函数操作的是完整的URI,他不会编码URI中的任何保留字符。 encodeURIComponent()和decodeURIComponent() encodeURIComponent和decodeURIComponent函数操作的…

Coding and Paper Letter(二十五)

2019独角兽企业重金招聘Python工程师标准>>> 资源整理。接上篇,这一篇主要针对论文。 Paper: 1.Spatial-temporal fraction map fusion with multi-scale remotely sensed images/利用多尺度遥感图像进行时空分型图融合 鉴于当前卫星传感器的空间和时间分…