Python爬虫总结

  • 爬虫需用到python的requests库
import requests
  • requests库的七个主要方法

    除 request()方法的其余六个方法实际是调用 request()方法,是基于request()方法封装起来的,所以其实用到的方法只有request方法。六个方法对应以下HTTP的六个操作
    在这里插入图片描述
    其中put()和patch()方法的区别,如果资源有很多属性(例如姓名,年龄)用put()方法改动姓名,则需要把所有属性一起提交,没有提交的属性将会被删除。用patch()方法则只需要提交姓名一个属性即可,其他属性不会受影响。可以节省网络带宽

  • requests()方法
    在这里插入图片描述

  • 十三个访问控制参数

参数 param:字典或字节序列,作为参数增加到url中

import requests
kv = {'key1':'value1','key2':'value2'}
r = requests.request('GET','http://python123.io/ws',params = kv)
print(r.url)
https://python123.io/ws?key1=value1&key2=value2

参数 data:字典,字节序列或文件对象,作为Request的内容向服务器提交,不是像param增加到url中而是作为一个资源储存在俩对应的资源位置上。

import requests
kv = {'key1':'value1','key2':'value2'}
r = requests.request('POST','http://python123.io/ws',data = kv)

参数 json:json格式的数据,作用同上data

import requests
kv = {'key1':'value1','key2':'value2'}
r = requests.request('POST','http://python123.io/ws',json = kv)

参数 headers:字典,定制HTTP头

import requests
kv = {'user-agent':'Chrome/10'}//模拟Chrome浏览器10版本
r = requests.request('POST','http://python123.io/ws',headers= kv)

参数 cookies:字典或CookieJar,Request中的cookie
参数 auth:元组,支持HTTP认证功能
参数 file:字典类型,向服务器传输文件

import requests
kv = {'file':open(‘data.xls’,‘rb')}
r = requests.request('POST','http://python123.io/ws',headers= kv)

参数 timeout:设定超时时间,秒为单位

import requests
r = requests.request('GET','http://www.baidu.com',timeout = 10)

参数 proxies:字典类型,设定访问代理服务器,可以增加登录认证

import requests
pxs = {'http':'http://user:pass@10.10.10.1:1234','https':'https://10.10.10.1:4321'}
r = requests.request('GET','http://www.baidu.com',proxies = pxs)

参数 allow_redirects:True/False,默认为True,重定向开关
参数 stream:True/False,默认为True,获取内容立即下载开关
参数 verify:True/False,默认为True,认证SSL证书开关
参数 cert:本地SSL证书路径

  • 实例一:爬取保存网页图片
import requests
import os
url = "https://i1.hdslb.com/bfs/face/85b49d96bd506c84831eca97c35534cfb696b578.jpg@68w_68h.jpg"
root = "D://picture//"
path = root + url.split('/')[-1]
try:
    if not os.path.exists(root):
        os.mkdir(root)
    if not os.path.exists(path):
        r = requests.get(url)
        with open(path,'wb') as f:
            f.write(r.content)
            f.close()
            print("文件已经保存")
    else:
        print("文件已经存在")
except:
    print("爬取失败")

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值