Python网络爬虫《一》

1、内容:

Python网络爬虫《一》_第1张图片

2、Python IDE工具:

Python网络爬虫《一》_第2张图片

科学计算和数据分析:Canopy、Anaconda

3、Python网络爬虫与信息提取:

Request库:

(1)安装:pip install request

(2)验证:python IDLE中

>>> import requests

>>> r = requests.get("http://www.baidu.com")

>>> print r.status_code   #200为访问成功

>>>type(r)    #

>>>r.headers   #头信息

(3)方法讲解:

Python网络爬虫《一》_第3张图片

(1)requests.request(method,url,**kwargs)

  • method : 对应GET、HEAD、POST等7种类,包括OPTION;
  • url:链接;
  • **kwargs:访问控制参数,可选项;
    • params:字典或直接序列,作为参数添加到url中;
    • data :字典、字节序列或文件对象,作为request的内容;
    • json:JSON格式的数据,作为request内容;
    • headers:字典,HTTP定制头;
    • cookies:字典或CookieJar,request中的cookie;
    • auth:援助,支持HTTP功能;
    • files:字典类型,传输文件;
    • timeout:设置的超时时间,秒为单位;
    • peoxies:字典类型,设定访问代理服务器,可以增加登录认证;
    • allow_redirects:True/False,默认true,重定向开关;
    • steam:True/False,默认true,获取内容立即下载开关;
    • verify:True/False,默认true,认证SSL证书开关;
    • cert:本地SSL证书路径;

(2) . r = requests.get(url,params=None,**kwargs)

构造一个向服务器请求支资源的Request对象,返回一个包含服务器资源的Response对象

#url:拟获取的url链接;

#params:额外参数,字典或字节流格式,可选;

#**kwargs:12个控制访问的参数;

(3)其它方法均是通过调用requests来实现的。

(4)Response:

Python网络爬虫《一》_第4张图片

  • r.encoding :如果header中不存在charset,则认为编码为ISO-8859-1;
  • r.apparent_encoding :utf-8


4、爬取网页的通用代码框架

     网络连接有风险,异常处理很重要;

Python网络爬虫《一》_第5张图片


Eg:

#/usr/bin/env.python
import requests
def getHTMLText(url):
    try:
        r = requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return "wrong"
if __name__=="__main__":
    url = "http://www.baidu.com"
    print getHTMLText(url)

5、HTTP协议和Request库方法

HTTP:超文本传输协议,基于“请求与响应”模式的、的无状态应用层协议。

URL格式:http://host[:port][path] #host:主机和IP; port:端口,缺省为80;path:请求资源的路径

Python网络爬虫《一》_第6张图片



你可能感兴趣的:(Python,Python全栈工程师)