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

爬虫学习笔记 -- 实战某电影网(lxml库版)

0x01 安装lxml库文件

pip3 install lxml

0x02 初始化字符串

1、通过HTML类初始化字符串

from lxml import etree
import requests
url = "https://www.dandanzan10.top/dianying/index.html"
heads = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
}
r = requests.get(url, headers=heads)
str = r.text
html=etree.HTML(str)
print(html)
运行结果:<Element html at 0x17bf61e9d80>

0x03 获取xpath路径

1、右击要获取的字符串,选择审查元素

2、右击要获取字符串这行,选择复制,选择复制Xpath

/html/body/div[2]/div/div[2]/ul/li[1]/h2/a

0x04 利用Xpath获取电影名

from lxml import etree
import requests


url = "https://www.dandanzan10.top/dianying/index.html"
heads = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
}
r = requests.get(url, headers=heads)
str = r.text
html=etree.HTML(str)
res=html.xpath('/html/body/div[2]/div/div[2]/ul/li[1]/h2/a/text()')
print(res)
运行结果:['奇门暗刃']

1、text()获取节点内容

2、"ul/li[1]",这里只是获取了第一个电影名字

3、因为有多个li节点,所以将下标1去了就可以获取所有节点内容

res=html.xpath('/html/body/div[2]/div/div[2]/ul/li/h2/a/text()')

0x05 声明

仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者不承担任何法律及连带责任。

欢迎关注编程者吧

相关文章:

  • hive on spark下row_number()问题排查
  • 最新面试题:用友OC,美团三面已挂
  • 开发者API管理神器Eolink,比postman好用
  • Mysql - 分库分表
  • 计算机毕业设计django基于python的高校奖学金管理系统(源码+系统+mysql数据库+Lw文档)
  • 软件测试的学习笔记(1)
  • c++11基础
  • 一个发誓不用Java的程序员,不得不在太空中调试Lisp
  • Android音频子系统(十一)------耳机返听(耳返)原理实现
  • 【探花交友】前后端分离、开发工具、环境搭建
  • FPGA 之 时序分析
  • 【Android进阶】13、对话框
  • RTX3090+win10+CUDA11.6+cudnn8.5.0+pytorch1.12.1 环境——个人配置经验
  • 第二章 Hadoop环境配置之虚拟机安装配置
  • 【毕业设计】基于单片机的手势识别系统 - 手势识别 单片机 物联网
  • Angular Elements 及其运作原理
  • cookie和session
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • es的写入过程
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • github从入门到放弃(1)
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • October CMS - 快速入门 9 Images And Galleries
  • SAP云平台里Global Account和Sub Account的关系
  • VuePress 静态网站生成
  • 创建一个Struts2项目maven 方式
  • 计算机常识 - 收藏集 - 掘金
  • 检测对象或数组
  • 将回调地狱按在地上摩擦的Promise
  • 讲清楚之javascript作用域
  • 目录与文件属性:编写ls
  • 使用权重正则化较少模型过拟合
  • 赢得Docker挑战最佳实践
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • #HarmonyOS:基础语法
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)JPA - JQPL 实现增删改查
  • (原)本想说脏话,奈何已放下
  • (转)iOS字体
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .cfg\.dat\.mak(持续补充)
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Core和.Net Standard直观理解
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET 设计一套高性能的弱事件机制
  • .net快速开发框架源码分享
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理