Python爬虫的学习day02 requests 模块post 函数, lmxl 模块的 etree 模块

1. requests 模块post 函数

1.1 post 函数的参数 (简单版)

参数1: url 网络地址

参数2: data 请求数据 (一般数据是 账号,密码)

参数3: headers 头请求 (User-Agent: 第一章讲过)


1.2 post 请求中 url 参数的获取

1.2.1 首先 打开一个 登录界面 。(这里以淘宝的登录界面为样例)

1.2.2 打开控制界面 。(点击F12 ,或者右键检查)

1.2.3 点击网络。 再点击下一行的 全部(all)

1.2.4 点击登录界面的 账号输入的地方,获取一个 Ping 。

1.2.5 点击网络下面的链接,进入post 数据界面。

1.2.6 观看和获取 URL 数据。

1.3 post 请求中 data参数的 名字命名 (或者说是 data字典类型数据的 key 名字)

  1. 在淘宝登录界面输入账号密码

  2. 点击登录界面。

  3. 打开控制界面 -> 网络 --> 点击包含check 的链接 --> 点击负载 -- > 观看参数的名字


2.lxml 模块

2.1 lxml 模块的简介

lxml模块 是python的一个解析库,支持HTML和XML解析,同时支持XPath解析方式。Lxml的解析速率相较BeautifulSoup更高,后者学习相较更简单。

功能:用于解析HTML与XML文件;进行文件读取;etree和Xpath的配合使用


2.2 lxml 模块的使用

主要是 Xpath 对于 HTML的解析

推荐文章:Python爬虫基础教程------lxml爬取入门 - 知乎 (zhihu.com)

参考文章: lxml模块详解_手工&自动化测试开发小白的博客-CSDN博客

参考文章:XPath用法及常用函数_xpath 函数_SeeUa的博客-CSDN博客


2.3 函数 Xpath的使用 (看参考文章)

参考文章:Xpath 用法总结_xpath //_free_xiaochen的博客-CSDN博客

参考文章:Xpath 用法总结_xpath //_free_xiaochen的博客-CSDN博客


2.4 样例代码 (帮我找找 bug ,我的 xpath没有找到所有的数据)

复制代码
import requests  # http 请求函数的库
import chardet   #chardet  支持检测中文、日文、韩文等多种语言  和  字符串编码 函数库
from lxml import etree

headers1 = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188"}
url = 'https://cn.bing.com/images/search?q=%E5%9B%BE%E7%89%87&form=IQFRBA&id=4929EB0212CFAC8CB6AB59DB53A9D2D99C54FF6A&first=1&disoverlay=1' #图片的网站
response = requests.get(url)
#print(response)
selector =etree.HTML(response.text)
s = selector.xpath('//img/@src')
for x in s:
    print(x)
相关推荐
程序员小远2 小时前
银行测试:第三方支付平台业务流,功能/性能/安全测试方法
自动化测试·软件测试·python·功能测试·测试工具·性能测试·安全性测试
光影少年3 小时前
angular生态及学习路线
前端·学习·angular.js
猫头虎4 小时前
如何查看局域网内IP冲突问题?如何查看局域网IP环绕问题?arp -a命令如何使用?
网络·python·网络协议·tcp/ip·开源·pandas·pip
沿着路走到底5 小时前
python 基础
开发语言·python
烛阴6 小时前
武装你的Python“工具箱”:盘点10个你必须熟练掌握的核心方法
前端·python
逆小舟7 小时前
【C/C++】指针
c语言·c++·笔记·学习
杨枝甘露小码7 小时前
Python学习之基础篇
开发语言·python
我是华为OD~HR~栗栗呀7 小时前
23届考研-Java面经(华为OD)
java·c++·python·华为od·华为·面试
武文斌777 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
递归不收敛8 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:1.3 特征工程与模型优化
pytorch·学习·机器学习