05.爬虫入门笔记1
2022/8/26 6:24:53
本文主要是介绍05.爬虫入门笔记1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
入门爬虫笔记01
1.request库的使用
-
使用request库的get方法
import request r = request.get('www.baidu.com')
这会得到一个Response对象,将其存入变量r。
-
显示得到的html代码
print(r.text)
有时候会出现乱码的情况,这时候在网站使用开发者工具(F12),在head标签下,找一下'charset'这个单词
如图百度的 charset = 'utf-8',所以在程序中加入代码:
r.encoding = 'utf-8' # 'gbk' 'utf-8'这个两个最常见
2.使用xpath解析
-
生成实例
tree = etree.HTML(r.text)
-
xpath匹配模式
-
路径定位
tree.xpath('/html/body/div') # 绝对路径 相对路径 tree.xpath('/html//div')
-
属性定位
tree.xpath('//div[@class='song']') # 定位class属性等于song 的 div标签
-
引索定位
tree.xpath('//div[@class='song']/p[3]') # 定位<div class="song"></div>内的第三个p标签 # 这个引索是从1开始的,而不是从0开始
这些匹配模式可以组合使用,完成复杂的匹配。
-
-
取出数据
- 使用 @href 取出链接
- 使用 text() 取出标签内的文本
练习:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <div class="main"> </div> <div class="menu"> <ul> <li> <a href='https://www.baidu.com'>baidu</a> </li> <li> <a href='https://www.bilibili.com/'>bilibili</a> </li> </ul> </div> </body> </html>
取出第一个a标签的文本"baidu":
a1 = tree.xpath("/html/body/div[@class='menu']/ul/li[1]/a/text()")
取出第二个a标签的链接"https://www.bilibili.com/":
a2 = tree.xpath("/html/body/div[2]/ul/li[2]/a/@href")
-
睡觉!
这篇关于05.爬虫入门笔记1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行