一、python2第三方模块:requests模块
requests模块的常规操作:
1.实际爬虫项目中,使用最多的一个模块
2. requests基础操作
3.请求头封装
4.不同请求方式
5. 请求中的参数
requests模块是实际项目中常用的爬虫操作模块,相对于urllib2模块,requests模块对多种请求和传参问题进行了高度的封装
equests:第三方封装的用于网络请求操作的一个模块,主要用于爬虫程序的开发,尤其以开发简单,上手容易、操作灵活、开发效率高著称,所以在实际项目操作过程中,requests模块是使用最多的爬虫操作模块[重点]
多线程多进程:在python中多线程的方式在windows这样的操作系统中,并不是十分可取;同样的,在CPathon编译器下,多线程的操作方式要根据实际情况进行确定!GIL限制了数据的多线程访问,但是如果是类似于爬虫进行频繁IO操作的情况下,多线程可以提升操作效率,使用过程中,就是对requests模块的一种扩展[核心~对于数据的分配]
scrapy框架:完成爬虫程序的非常灵活的一种操作框架,封装了大量的常用的爬虫进行数据处理的功能,通过模块化的方式提供了一种便于扩展的爬虫操作模式;在实际项目操作过程中,使用较少~[因为大量的爬虫需求,并不是能达到必须使用scrapy框架才能提升操作效率的要求,大部分情况下,通过requests就可以完成项目任务],注意~如果涉及到爬取的数据量较大或者深度爬取的情况下,请优先考虑scrapy框架!
scrapy-redis分布式爬虫操作~~~数据量非常大
1.requests模块的安装 : pip install requests 或者 easy_install requests
2.第一个requests程序:
# -*- coding:utf-8 -*- # 引入需要模块 import requests # 发送请求得到响应数据 response=requests.get('https://taobao.com') # 打印获取数据 print (response.text)这里将url直接传到requests.get()函数中,发送请求,这是最基本的get方式发送请求,若要get请求携带参数,直接使用requests.get()函数中的params属性,params属性可传递字典类型的参数,相当于urllib2中的get方式拼接url的方式。
如requests.get('https://www.baidu.com',params={'kw':"火车"}),这里表示百度搜索关键词“火车”。若是post请求,则用data传递数据,如request.post('http://fanyi.youdao.com',data={'i':'hello'})。不仅如此,还有其他请求方式也可以通过requests.请求方式()向服务器发送请求。可以传递的参数类型和意义如下