从零开始学爬虫—urllib

其实学习爬虫也挺简单,主要就是三个步骤

1.抓取网页

2.分析网页

3.保存数据

抓取网页

urllib库

urllib库下主要分成四个模块

1.request   模拟发送请求

2.error     异常处理模块

3.parse    处理URL(拆分,解析,合并)

4.robotparser   识别robot.txt文件,判断网页是否可爬

request模块

1. urlopen()方法(默认GET):

常用参数列表:url,data(如果传递该参数,则用POST方法在表单中传递),timeout

2. Request 构造复杂的请求对象

常用参数列表:url,data,headers={ },请求方的host/IP,请求是否无法验证,method

还可以用add_header()方法添加请求头

3. 高级方法(涉及到验证,cookies,代理等问题)

基本思路    创建对象  ——>  创建句柄(handler)——> 创建opener

error模块

1. URLError 

 所有异常类的基类,能够处理所有request模块产生的异常

属性:reason

2. HTTPError

URLError的子类,专门用于处理HTTP请求错误

属性:code   reason   headers

parse模块

urlparse()   <——>   urlunparse ()    协议://域名/路径;参数?查询条件#锚点

urlsplit()   <——>   urlunsplit()     同上,不解析参数部分

urljoin()拼合两个url

urlencode()  接收字典参数,传递给url参数字段

parse_qs()  把GET请求参数转化为字典

parse_qsl() 把GET请求参数转化为元组的列表

quote() <——> unquote()     中文字符与url编码格式转化

robotparser模块

判断爬虫和搜索引擎哪些页面可抓取(不可抓取)  robot.txt

RobotFileParser对象方法:

1.set_url()     也可在创建对象时初始化url

2.read()   读取robot.txt文件,必须调用

3.parse()   解析robot.txt文件

4.can_fetch()   参数:User-agent,url     是否可以抓取  True/False

5.mtime()   上次抓取和分析robot.txt的时间

6.modified()  更新抓取和分析robot.txt的时间

    原文作者:zhangyutong_dut
    原文地址: https://www.jianshu.com/p/56881b5eba0b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞