首页 > 其他分享 >爬虫 | xpath + lxml 库 解析爬取网页

爬虫 | xpath + lxml 库 解析爬取网页

时间:2024-06-11 17:11:46浏览次数:13  
标签:xpath XML lxml etree 爬取 文档 字符串 解析

lxml 库是用来解析XML和HTML网页内容的
Xpath 库则是用来查询数据(XPath表达式是一种在XML文档中查找信息的语言,它同样适用于HTML文档)

简单示例:

# 先pip install lxml

  import requests  
  from lxml import etree  # etree主要是用来解析和操作XML/HTML文档
    
  # 步骤3:获取网页内容  
  url = 'http://example.com'  # 替换为你想要爬取的网页的URL  
  response = requests.get(url)  
  html_content = response.text  
    
  # 步骤4:解析网页内容  
  tree = html.fromstring(html_content)  
    
  # 步骤5:使用XPath查询数据  
  result = tree.xpath('//h1/text()')  
    
  # 步骤6:处理查询结果  
  for item in result:  
      print(item.strip())  # 去除可能存在的空白字符并打印

补充关于etree.parse() 和 etree.fromstring()以及 etree.XML()的区别


* etree.parse() 用来解析XML文档或类似文件的对象,所以参数中提供文件名或文件对象作为输入
* etree.XML() 用来解析字符串:该字符串是完整的 XML 文档(即包含根元素),所以参数中放入完整的 XML 字符串作为输入
* etree.fromstring() 用来解析字符串:不一定包含根元素,所以参数中放入 XML 字符串作为输入

标签:xpath,XML,lxml,etree,爬取,文档,字符串,解析
From: https://www.cnblogs.com/abloger/p/18242383

相关文章

  • 爬取京东商品图片的Python实现方法
    引言在数据驱动的商业环境中,网络爬虫技术已成为获取信息的重要手段。京东作为中国领先的电商平台,拥有海量的商品信息和图片资源。本文将详细介绍如何使用Python编写爬虫程序,爬取京东商品的图片,并提供完整的代码实现过程。爬虫基础在开始编写爬虫之前,需要了解一些基本的网......
  • day11 Xpath
    网页分析有优势,全称XMLPathLanguage一种小型的查询语言优点:可在XML中查询信息支持HTML的查询通过元素和属性进行导航PY使用需要安装库:安装lxmlselector=etree.HTML(html_doc)//实例化对象,实际上就是一个Element类,通过逻辑运算://div[@idand@class]查找同时拥有的元素......
  • feapder框架爬取ks评论_递归的方式
    importrandomimportreimporttimefromfeapder.db.mysqldbimportMysqlDBimportfeapderdefis_number(string):pattern=re.compile(r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$')returnbool(pattern.match(string))classAirSpiderDemo(feapder.Ai......
  • xpath常用的定位规则方法解析
     XPath是一种在XML文档中查找信息的语言,它同样适用于HTML文档,因为HTML可以被看作是一种特殊的XML。在XPath中,你可以使用各种表达式来定位元素。以下是XPath中元素定位的一些常见规则和方法:1.基本路径/ 表示根元素。// 表示选择文档中的节点,而不考虑它们的位......
  • 多线程实现爬取图片
    importosimportthreadingimportrequestsfromget_img_urlimportget_img_url#下载单张图片方法,方法入参为图片url地址和图片名称defdownload_image(url,filename):response=requests.get(url)withopen(filename,'wb')asf:f.write(respon......
  • Java爬虫-爬取疫苗批次信息
        今年3月份开始,就接到通知,根据《关于开展有关人群第二剂次脊髓灰质炎灭活疫苗补种工作的通知》国疾控卫免发〔2024〕1号文件要求,在2016年3月1日至2019年9月30日之间出生的儿童,凡无接种禁忌者,需补齐2剂次脊髓灰质炎灭活疫苗。由于我家一直是异地打针【在外漂打工,懂的都......
  • zf_利用feapder中的selenium网页爬取数据
    "http://www.ccgp.gov.cn/cggg/dfgg/"#个人学习用切勿其他用途#标题name#发布时间publish_time#地域location#采购人purchaser#采购网址url#前提配置数据库安装feapder库importrandomimportreimporttimeimportfeapderfromfeapder.utils.webdriverimportWebDrive......
  • Python使用BeautifulSoup爬取人人影视的详情页面
    importrequests,jsonfrombs4importBeautifulSoupif__name__=='__main__':url="https://yyets.com/movies/201565/"headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537......
  • feapder通过selenium爬取网页数据-用到yield关键字可循环爬取
    importrandomimporttimeimportfeapderfromfeapder.utils.webdriverimportWebDriverfromparselimportSelectorfromfeapder.db.mysqldbimportMysqlDBfromselenium.webdriver.common.byimportByclassTestRender(feapder.AirSpider):db=MysqlDB()__cust......
  • python selenium mysql -- 数据爬取2
    fromseleniumimportwebdriverfromselenium.webdriver.common.byimportBydriver=webdriver.Chrome()driver.get('https://www.00ksw.com/html/120/120704/')zj_list=[]#使用更健壮的XPath或CSS选择器links=driver.find_elements(By.XPATH,'/html/bo......