python爬虫的学习:requests库

1.requests库:python中原生的基于网络请求的模块,功能强大,简单便捷,效率高

2.作用:模拟浏览器发送请求

3.使用步骤:

        1>指定url

        2>发送请求

        3>获取请求的数据

        4>持久化存储

4.分析url步骤:

        1>查看该url请求是不是阿贾克斯请求,如果url不变,但是页面局部信息发生改变,那么就是阿贾克斯请求

        2>查看该请求方法是POST请求还是GET请求

        3>查看该请求所含有的参数有几个,分别代表什么意思

        4>查看请求的内容类型是text还是json

例一:爬取京东商品信息

import requests
url = "https://item.jd.com/2967929.html"
try:
    r=requests.get(url)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[:1000])
except:
    peinr("爬取失败")

例二:亚马逊商品的爬取

import requests
url = "https://www.amazom.cn/gp/product/B0110151"
try:
    kv = {"user-agent":"Mozilla/5.0"}
    r = requests.get(url,headers=kv)
    r .raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")

当user-agent为python的reuqesta时,网站可以拒绝访问。因为网站接受是浏览器引发或产生的HTTP请求,可以拒绝由爬虫产生的HTTP请求,所以将程序模拟为一个浏览器,重新定义user-agent的内容。此时就要进行一个简单的反爬策略,即UA伪装

例三:豆瓣电影信息的爬取

 

例四:网络图片的爬取和存储

import requests
import os
root = "D:/picture.jpg"
url = "http://im....."
path = root + url.spilt('/')[-1]
try:
    if not os.path.exists(root):    #判断文件root是否存在
        os.mkdir(root)
    if not os.path.exquests(path):   #判断文件path是否存在
        r = reqyests.get(url)
        with open(path,'wb') as f:   #打开文件
            f.write(r.content)    #将图片内容作为二进制保存
            f.close()
            print("文件保存成功")
    else:
        print("文件已存在")
except:
    print("爬取失败") 

例五:IP地址归属地的自动查询

import requests
url = "hhtp://m.ip138.com/ip.asp?ip="
try:
    r = requests.get(url+'202.204.80.112')
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[-500:1])
except:
    print("爬取失败")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值