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) 生成这个方法

lxml and 代理ip的更多相关文章

  1. python爬虫实战(一)——实时获取代理ip

    在爬虫学习的过程中,维护一个自己的代理池是非常重要的. 详情看代码: 1.运行环境 python3.x,需求库:bs4,requests 2.实时抓取西刺-国内高匿代理中前3页的代理ip(可根据需求自 ...

  2. 通过爬虫代理IP快速增加博客阅读量——亲测CSDN有效!

    写在前面 题目所说的并不是目的,主要是为了更详细的了解网站的反爬机制,如果真的想要提高博客的阅读量,优质的内容必不可少. 了解网站的反爬机制 一般网站从以下几个方面反爬虫: 1. 通过Headers反 ...

  3. 用代理IP进行简单的爬虫——爬高匿代理网站

    用西刺代理网站的IP爬高匿代理网站 import re import _thread from time import sleep,ctime from urllib.request import u ...

  4. 【python3】如何建立爬虫代理ip池

    一.为什么需要建立爬虫代理ip池 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制的,在某段时间内,当某个ip的访问量达到一定的阀值时,该ip会被拉黑.在一段时间内被禁止访问. 这种时候,可 ...

  5. 维护爬虫代理IP池--采集并验证

    任务分析 我们爬的免费代理来自于https://www.kuaidaili.com这个网站.用`requests`将ip地址与端口采集过来,将`IP`与`PORT`组合成`requests`需要的代理 ...

  6. 免费代理ip爬虫分享

    分享一个某代理网站的免费代理ip的爬虫,直接复制到pycharm运行就可以了. 注意:爬取的代理ip有点坑,因为是免费的所以过期时间很快,可能1分钟后就会失效.并且在scrapy使用这些代理ip还会给 ...

  7. 代理 IP 云打码平台的使用

    代理ip 获取代理ip的网站: 快代理 西祠代理 www.goubanjia.com #代理ip import requests headers = { 'User-Agent':'Mozilla/5 ...

  8. requests 使用免费的代理ip爬取网站

    import requests import queue import threading from lxml import etree #要爬取的URL url = "http://xxx ...

  9. 建立爬虫代理IP池

    单线程构建爬虫代理IP池 #!/usr/bin/python3.5 # -*- coding:utf-8 -*- import time import tempfile from lxml impor ...

随机推荐

  1. [python]打印异常信息的不同方式

    异常捕获 try: execpt Exception as e: print(str(e)) 打印异常信息的方式 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常 ...

  2. python 导入包

    mkdir fff dddtouch ddd/test.py ddd/__init__.py sudo vi fff/te.py写入:import syssys.path.append('../')f ...

  3. Robot Framework(十九) 附录

    6附录 6.1测试数据中的所有可用设置 6.1.1设置表 Setting表用于导入测试库,资源文件和变量文件,以及定义测试套件和测试用例的元数据.它可以包含在测试用例文件和资源文件中.请注意,在资源文 ...

  4. Mongodb更新数组$pull修饰符 (mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))

    mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))   https://www.jb51.net/article/112588.htm http://bl ...

  5. ThinkPHP6.0学习之安装及问题解决

    ThinkPHP6.0学习之安装及问题解决 ThinkPHP6.0开发版已经上线了,我已经等了他很久了,现在写一个系列来记录Thinkphp6.0的使用,我们现在从安装开始学习吧. 首先我们要确定Th ...

  6. SQL-W3School-基础:SQL DELETE 语句

    ylbtech-SQL-W3School-基础:SQL DELETE 语句 1.返回顶部 1. DELETE 语句 DELETE 语句用于删除表中的行. 语法 DELETE FROM 表名称 WHER ...

  7. Maven 引入外部依赖

    pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项. 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 ...

  8. Excel导入工具类

    项目需要从Excel导入数据,然后插入到数据库对应表中.设计了一个导入工具类,导入数据和导入结果如下图示: poi jar版本采用的3.15 导入工具类实现如下: package com.alphaj ...

  9. MVVM的项目学习和笔记

    今天在学习一个用MVVM模式写的项目,掌握一下对MVVM的理解和记的一些笔记. 下面是自己学习的项目链接: http://www.code4app.com/ios/一个MVVM架构的iOS工程/695 ...

  10. nginx访问日志的几个统计命令

    nginx日志中得到访问量最高前10个IP: cat access.log.10 | awk '{a[$1]++} END {for(b in a) print b"\t"a[b] ...