lxml and 代理ip
pip install lxml
导包
From lxml import etree
1. 注意这个是本地html就直接使用etree.parse即可
2. html_etree=etree.parse("test.html") print(html_etree)
3. Html_etree.xpath("//li")//就是直接打印出来li所有的属性
4. 获取所有li下面的的class的值 html_etree.xpath(//li/@class)
5. 获取li下的所有的span的标签 html_etree.xpath("//li//span") /是用来获取子元素的 而span和li不是子元素
6. 获取li下面的所有的a标签里面的所有的class html_etree.xpath("//li/a//@class")
7. html.xpath('//li[last()]/a/@href') # 谓语 [last()] 可以找到最后一个元素 获取最后一个li的a的href属性对应的值
8. 获取倒数第二个就是[last()-1/a] 获取倒数第二个li元素的内容
在本地没有文件的情况下使用response读取到的数据直接打开就可以了
#html_etree=etree.HTML(html)
/ 从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
. 选取当前节点。
.. 选取当前节点的父节点。
@ 选取属性。
1) 一般使用html_etree.xpath("//div[@class=' ']/a//text()")
2) 使用text()就可以文字的形式的方式打印出数据 不在是打印出来的数据
Cookiejar
1. 首先需要导入import http.cookiejar
然后来进行生成这个方法 (这样就可以不用在headers里面写入cookie的值了)
#创建cookie对象可以帮助我们保存服务器向浏览器cookie中写入的内容
cookie=http.cookiejar.CookieJar()
#使用cookie对象来创建handler对象
handler=request.HTTPCookieProcessor(cookie)
#使用handler对象创建opner对象
opener=request.build_opener(handler)
最后可以直接使用open打开就行了:
req1=request.Request(url=login_url,headers=headers)
response1=opener.open(req1)
print(response1.read().decode("utf-8"))
代理ip
#构建免费代理
#proxy={
#"http":"49.86.183.163:9999",
#"https":"49.86.183.163:9999"
#}
(这里我们使用的免费ip,(快代理),公司一般都会有代理池的!)
proxy={
"http":"http://18632229371:qq6218346@119.96.174.58:28803",
"https":"http://18632229371:qq6218346@119.96.174.58:28803"
}
1. handler=request.ProxyHandler(proxies=proxy) request的proxyhandler方法
opener=request.build_opener(handler) 生成这个方法
最新文章
- sharepoint 权限继承相关
- Spirng中Mongodb中write-concern的解释
- redis async client 与自有框架集成
- Week,Month, Year 日期区间辅助类
- boost库学习之开篇
- linux中crontab实现以秒执行任务
- 常用AWK命令
- 《A First Course in Probability》-chaper1-组合分析-方程整数解的个数
- Android设计中的.9.png与Android Studio中的设置
- FTP 安装配置
- js实现复制内容到剪切板,兼容pc和手机端,支持Safari浏览器
- [Jsoi2015]染色问题
- PL/SQL学习笔记之存储过程
- putty登陆sourceforge.net(设置登录)
- Xshell5 评估过期,需要采购,不能使用
- window.open 子窗口关闭刷新父页面
- 【Android】Handler详解
- trustbox文件破解
- Code First 数据库迁移
- Windows 搭建 Linux kernal0.11 环境
热门文章
- Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上
- [python]字典的直接赋值、浅拷贝和深拷贝解析
- TCP_IP Sockets编程C语言实现第2版 源码下载
- Mac 下 brew的卸载 插件
- git仓库与项目源码分离
- mac-chrome下手动安装vue-devtools
- Build Telemetry for Distributed Services之OpenTracing实践
- JavaScript:undefined!=false之解 及==比较的规则
- webdriervAPI(鼠标事件)
- ubuntu16.04 下通过rc.d(rc.local)实现开机启动(未登录)anydesk