库文件学习笔记

Urllib

(1)参考《python文档_标准库_urllib

urllib.request for opening and reading URLs

urllib.error containing the exceptions raised by urllib.request

urllib.parse for parsing URLs

urllib.robotparser for parsing robots.txt files

(2)参考《python文档_标准库_urllib.request

urllib.request.urlopen()可以实现最基本请求的发起

urllib.request.Request()可以实现更强大的请求的发起

对于一些更高级的操作(比如Cookies处理、代理设置等),需要用到Handler

(3)参考《python文档_标准库_urllib.parse

urllib.parse.urlparse()返回一个ParseResult类型的对象,对应标准的链接格式:scheme://netloc/path;parameters?query#fragment,分解出6部分

urllib.parse.urlunparse()可以还原出标准链接格式

urllib.parse.urlencode()可用于序列化构造GET请求参数

urllib.parse.parse_qs()可用于反序列化转为字典

urllib.parse.quote()可用于进行URL编码

urllib.parse.unquote()可用于进行URL解码

(4)参考《python文档_标准库_urllib.robotparser库

urllib.robotparser.RobotFileParser()

Requests

(1)参考《Requests文档

(2)参考《Requests文档_Quickstart

requests.get()构造一个GET请求方式,返回类型是requests.models.Response

requests.get().text可以得到str类型,JSON格式的返回内容

requests.get().json()可以得到dict类型的返回内容

requests.get().content可以拿到媒体文件的二进制码

requests.post()构造一个POST请求方式

requests.get().status_code与requests.codes.xxxx都可以看出网络返回状态

(3)参考《Requests文档_Advanced Usage

requests.cookies.RequestsCookieJar()可以生成RequestsCookieJar类型对象,之后通过对象.set(key,value)可以手动地设置cookies

requests.Session()可以生成一个会话,requests.Session().get(url)后.get(newurl)不用担心cookies问题

requests.get(url,verify=False)可以忽略证书问题,错误提示可以采取import logging和logging.captureWarnings(True)屏蔽,也可以采用from requests.packages import urllib3和urllib3.disable_warnings()屏蔽

requests.get(url,headers='',proxies='')可以添加头,设置代理

(4)参考《Requests文档_Authentication

requests.get(url, auth=HTTPBasicAuth('username', 'password'))获取需要用户名、密码登录的网页

正则表达式

参考《正则表达式

Xpath

参考《xpath语法》与《使用xpath

Beautiful Soup

参考《Beautiful Soup文档_中文》与《Beautiful Soup文档_英文》,也可参考《Beautiful Soup文档_CSS选择器》与《Beautiful Soup介绍

支持多种解析器,推荐使用lxml解析库,必要时使用html.parser

pyquery

参考《pyquery文档》与《使用pyquery

相较于Beautiful Soup,其CSS选择器的功能更加强大

(1)查找节点

doc = pq(html)初始化后,使用item=doc('CSS选择语句')查找节点得到pyquery.pyquery.PyQuery,可使用.find('CSS选择语句')进一步查找节点,仍得到pyquery.pyquery.PyQuery类型

(2)遍历与否

doc = pq(html)初始化后,使用doc('CSS选择语句')得到的类型是pyquery.pyquery.PyQuery,不能遍历

doc = pq(html)初始化后,使用doc('CSS选择语句').items()得到的类型是generator,可以遍历

(3)获取属性

doc = pq(html)初始化后,使用doc('CSS选择器').attr('href')得到节点的href属性

doc = pq(html)初始化后,使用doc('CSS选择器').attr.href也能得到节点的href属性

(4)获取文本

doc = pq(html)初始化后,使用doc('CSS选择器').text()得到节点的文本,得到的类型是字符串,采用一个空格分割开,因此可以用.split()处理后索引[index]定位

(5)节点操作

doc = pq(html)初始化后,使用doc.find('p').remove()可以移除p节点,为信息提取提供便利

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值