建议:在学习使用python中,下了很多模块,各种渠道下载安装,但是最后发现一个很好的东西,anaconda,集成了很多需要的模块,很方便,报错也少,详细文档和下载链接如下:
https://docs.anaconda.com/anaconda/packages/pkg-docs
https://www.anaconda.com/download/
在爬虫过程中,涉及到多个模块的应用,需要去添加新的模块,这里介绍几个常用的模块。
1.1 re模块
正则表达式,不作多描述。
1.2 json模块
主要用来保存爬取的数据 。
1.3bs4库:
主要应用其BeautifulSoup模块对网页进行解析
1.4 urllib模块:
urllib提供了一系列用于操作URL,利用程序去执行各种HTTP请求,主要用到的方法有:
- urllib.urlopen():实现对目标URL的访问
- urllib.urlencode():这个函数只接受key-value pair格式的数据,可以将其转化为我们想要的格式,即只针对dict,且不提供urldecode方法。
1.5urllib2模块:
主要用来获取URL,负责打开URL和HTTP之类的协议,也提供一些复杂的接口用于处理:基本认知,重定向等。
- Request:
- urlopen:
urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, cafile=None, capath=None, cadefault=False, context=None):
不常
用。data参数是在以POST方式提交URL时使用,常用的只有url,和timeout参数。url参数是网络地址,需
要协
议名称,端口,(eg:192.168.1.1:8080),timeout设置超时的时间。
函数返回的3个方法的使用:
geturl(): 返回response的url信息,常用语url的重定向情况。
info(): 返回responsed的基本信息。
getcode():返回response的状态代码,常见的代码是200服务器成功返回网页,404请求的网页不存在,503服务器暂时不可用。
- ProxyHandler:
- build_opener:
- install_opner:
- URLError:
- HTTPError:
- HTTPCookieProcessor