Python网络爬虫与信息提取Day1

Python网络爬虫与信息提取
一、导学
掌握定向网络数据爬取和网页解析的基本能力
1、Requests库:自动爬取HTML页面,自动向网络提交请求
2、robots.txt:网络爬虫排除标准
3、Beautiful Soup库:解析HTML页面
4、Projects:实战项目A/B
5、Re库:正则表达式详解,提取页面关键信息
6、Scarpy*:网络爬虫原理介绍,专业爬虫框架介绍
二、Python开发工具
文本工具类IDE:IDLE,Sublime Text
集成工具类IDE:PyCharm,Anaconda & Spyder,Wings,Eclipse
三、Requests库入门
1、安装Requests库,打开cmder,输入命令:pip install requests


2、测试一下是否安装成功
打开Python自带的IDLE,输入一下命令
import requests#导入Requests库
r = requests.get("http://www.baidu.com")#连接百度官网
r.status_code#测试是否安装库成功,如果安装成功则状态码会显示200
r.encoding = "utf-8"#打印出百度官网的网页
r.text


3、Requests库的常用方法:request,get,head,post,put,patch,delete
(1)get方法
r = requests.get(url,params=None,**kwargs)
url:拟获取页面的url连接
params:url中的额外参数,字典或字节流格式,可选
**kwargs:12个控制访问的参数
另外还有其他常用方法:head(),post(),put(),patch(),delete(),options()
1)Response对象的属性
r.status_code:Http请求的返回状态,200表示连接成功,404表示失败
r.text:Http响应内容的字符串形式,即url对应的页面内容
r.encoding:从HTTP header 中猜测的响应内容编码方式
r.apparent_encoding:从内容中分析出的响应内容编码方式(备选编码方式)
r.content:Http响应内容的二进制形式
2)Requests库的异常
requests.ConnectionError:网络连接错误异常,如DNS查询失败、拒绝连接等
requests.HTTPErrot:HTTP错误异常
requests.URLRequired:URL缺失异常
requests.TooManyRedirectsL:超过最大重定向次数,产生重定向异常
requests.ConnectTimeout:连接远程服务器超时异常
requests.Timeout:请求URL超时,产生超时异常
r.raise_for_status():如果不是200,产生异常requests.HTTPErrot
3)爬取网页的通用代码框架:
import requests#导入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 "产生异常"
if _name_=="__main__":
    url = "http://www.baidu.com"
    print(getHTMLText((url))


4)HTTP协议
URL路径格式:http://host[:port][path]
host:合法的Internet主机域名或IP地址
port;端口号,缺省端口为80
path:请求资源的路径
HTTP协议对资源的操作:GET,HEAD 取资源|发资源 POST,PUT,PATCH,DELETE
(3)request方法
参数:
四、robots.txt 
五、Requests库实例

猜你喜欢

转载自blog.csdn.net/qq_32539403/article/details/84256159