requests基本用法:

request.get()    #发送get请求

request.post()    #发送post请求

request.put()    #发送put请求

request.patch()    #发送patch请求

import requests

if __name__ == '__main__':
    url  = 'https://www.sogou.com/'
    res = requests.get(url=url)
    print(res.text)

 

请求携带参数

UA伪装

UA-检测:门户网站的服务器会监测对应请求的载体的身份标识,如果检测到载体的身份标识为某一个浏览器,则说明该请求是一个正常的请求如果,服务器监测到载体的身份标识不是为浏览器,则说明该请求不是一个正常的请求,服务器就会拒绝该请求

import requests

if __name__ == '__main__':
    #UA-伪装,将对应的user-agent封装到字典中
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
    }
    url = 'https://www.sogou.com/web'
    #处理url携带的参数,封装到字典中
    kw = input('enter a word:')
    param = {
        'query':kw
    }
    #发起请求
    res = requests.get(url=url,params=param,headers=headers)

    page_text = res.text
    file_name = kw + '.html'
    with open(file_name,'w',encoding='utf-8') as f:
        f.write(page_text)
    print(file_name,'保存成功')

 

#如果确认服务器返回json数据类型,则可以使用json方法,返回json对象。
res_dic = res.json()
import requests
import json
#百度翻译案例
#地址https://fanyi.baidu.com/sug,返回json数据

if __name__ == '__main__':
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
    }
    url = 'https://fanyi.baidu.com/sug'
    kw = input('enter you a word:')
    data = {'kw': kw}
    res = requests.post(url=url,data=data,headers=headers)
    #如果确认服务器返回json数据类型,则可以使用json方法,返回json对象
    res_dic = res.json()
    print(res_dic)
    filename = kw + '.json'
    f = open(filename,'w',encoding='utf-8')
    json.dump(res_dic,f,ensure_ascii=False)
    print('爬取结束')

 

原文地址:http://www.cnblogs.com/powfu/p/16907324.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性