爬虫基础(1)

  • 目录
  1. requests
  2. BeautifulSoup
  3. 学习:MOOCPython网络爬虫与信息提取
  • requests
  1. 实际上requests只有一个方法,即request。与之对应的.get;.head;.post;.put;.patch;.delete都属于.request,只是为了方便调用将其一一列出;
    在这里插入图片描述
    在这里插入图片描述

  2. HTTP基础补充
    url中通过HTTP协议存取资源的Internet路径,一个url对应一个数据资源。
    在这里插入图片描述
    无状态,即提交请求互不影响。
    在这里插入图片描述
    实际使用得更多的是GET和HEAD从服务器获取信息;向服务器提交请求会给服务器带来具大负荷,所以POST,PUT,PATCH,DELETE一般用不到。

  3. requests.request
    官方中文教程地址:
    http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

requests.request(method, url, **kw)
- method : 请求方式,对应get/put/post等7种
- url
- **kw : 控制访问的13个参数
	- paramss : 字典或字节序列,作为参数增加到url中
	- data : 字典、字节序列或文件对象,作为request的内容
	- json : JSON格式的数据,作为requests的内容
	- headers : 字典,HTTP定制头;eg.{'user-agent' : 'Chrome/10'}
	- cookies : 字典或CookieJar,request中的cookie
	- auth : 元组,支持HTTP认证功能
	- files : 字典类型,传输文件
	- timeout : 设定超时,单位秒
	- proxies : 字典,设定访问代理服务器,可增加登陆认证
	- allow_redirects : True/False,默认True,重定向开关
	- stream : True/False,默认True,获取内容立即下载
	- verify : True/False,默认True,SSL认证开关
	- cert : 本地SSL证书路径
  1. Response对象
    在这里插入图片描述
    r.encoding:如果header中不存在charset,则默认ISO-8859-1,r.textr.encoding显示网页。r.apparent_encoding作为备选。

  2. 为了保证代码运行的稳定性,需注意异常处理。requests自带了6种异常提示ConnectionError,HTTPError,URLRequired,TooManyRedirectsConnectimeout,Timeout.
    在这里插入图片描述

  3. 通用爬虾代码框架

# 通用爬虾代码框架
# 稳定

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 "产生异常"

if __name__ == '__main__':
	url = "http://www.baidu.com"
	print(getHtmlText(url))
  • BeautifulSoup
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

参考链:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值