IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> python爬虫学习(2)xpath jsonpath 代理ip运用 -> 正文阅读

[网络协议]python爬虫学习(2)xpath jsonpath 代理ip运用

系列文章目录


从零开始学习爬虫技术,欢迎大家指出我的不足和参考,也可以和我一起学习。

此为爬虫的第二篇文章,第一篇发不出去,不知道为什么。


目录

系列文章目录

前言

json 数据处理

jsonpath 解析:

简单例子

xpath使用:

? ? ? ? 基本语法:

代理ip介绍:

? ? ? ? 代理ip分类:

? ? ? ? 代理参数:

总结


前言

第一篇文章,主要介绍了基本的requests库 一些常见使用 和https .http协议 ,get post请求方法

今天我们继续深入讲解基本爬虫的一些数据解析操作。


json 数据处理


????????首先我们都知道现在网站基本上都用json 格式来存储数据,所有用python来解析json是很关键的。介绍2个函数实现python 与json 的相互转换。json与python的字典还是很相似的。

dumpspython数据转为json 用法 json.dumps('dict',ensure_ascii=False)
loads

json数据转为python dict

dict=json.loads(text)

dumps函数有中文时,则不用用ASCIL编码 参数要改为flase,需要import json 内置包

jsonpath 解析:


? ? ? ? 这个算一个坑,以后填上没学多少内容就知道一点。以后补上去

# 提取方法
# ret = jsonpath(a,'jsonpath语法规则字符串')
# $ 根节点 @ 线性节点 ..选择所有 .去子节点 * 匹配的,[] ?() 过滤操作

简单例子

from  jsonpath import  jsonpath
import json
new = json.loads(res.text)
# 利用jsonpath 获取全部程序名
city = jsonpath(new,'$..name')
city2 = jsonpath(new,'$..F[*].name')

xpath使用:


? ? ? ? 基本语法:

# xpath 语法
#     nodename 选中该元素
#     /从根节点选取
#     // 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置
#     .选取当前节点
#     ..选取当前节点的父节点
#     @选取属性
#     text()选取文本

? ? ? ? 案例使用:

? ? ? ? 先要移入lxml库中的etree函数转换文本为html

from  lxml import etree
text = '''
	<ul>
				<li><a href="javascript:;"><img src="img/1.jpg" alt="" />5</a></li>
				<li><a href="javascript:;"><img src="img/2.jpg" alt="" />4</a></li>
				<li><a href="javascript:;"><img src="img/3.jpg" alt="" />3</a></li>
				<li><a href="javascript:;"><img src="img/4.jpg" alt="" />2</a></li>
				<li class ='jingda'><a href="javascript:;"><img src="img/5.jpg" alt="" />1</a></li>
	</ul>
'''
# 获取文本数据
html = etree.HTML(text)
title = html.xpath('//li/a/text()') #得到A标签里的数据
class1 = html.xpath('//li[@class="jingda"]/a/text()')#得到类名为Jingda A标签里的数据
print(title)
print(class1)
href = html.xpath('//li/a/@href')#获取a属性值
print(href)

一直打开开发者工具直接复制路径,我电脑有问题,所有手写了xpath语法,谷歌可以转个xpath helper

代理ip介绍:


? ? ? ? 代理ip分类:

????????????????代理ip 是一个ip 指向代理服务器,代理服务器能向目标服务器转发请求?

????????正向代理 与反向代理 正向代理: 给客户端代理,让服务器不知道客户端的真实身份?

????????反方代理: 给服务器代理,让浏览器不知道服务器的真实地址

????????透明代理:服务器知道使用了代理ip,也知道真实ip

????????匿名代理:服务器知道使用了代理ip,不知道真实ip

????????高匿代理:服务器既不能检测代理ip,也不知道真实ip

? ? ? ? 代理参数:

import requests
# proxies = {
#     # ip地址和端口号
#     # 'http':'http://12.34.56.79:9527'
#     # ,'https':'https://12.34.56.79:9527'
# 'https':"https://www.bilibili.com/"
# }

? ? ? ? 实用案例:

# proxies = {
#     #协议  ip地址
#     'http':'27.208.137.49:8060'
# }
# res = requests.get(url,headers=headers,proxies=proxies)
# print(res.content.decode())# 无效返回异常;有效会显示ip地址

可以百度免费的代理ip ,直接使用就好了,如果代理ip 无效的话会使用本机真实ip。


总结

? ? ? ? 本文还有豆瓣案例我将在下篇文章和腾讯课堂案例,多个案例一起写出来本文就不再叙述。

ok发一下今天的进度图,还差一点就学完了上,还有中和下,今天学习时间应该也有3小时左右,

自我感觉还是很好的,不过电脑浏览器不知道怎么了复制不了xpath 路径所以都是自己写的,有点小菜,今天的内容还算简单,爬虫正在入门。ok 好了最后写句文案了:时过境迁的伤悲,搭配快乐的宣泄。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:47:24  更:2022-04-04 12:50:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:49:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码