# -*- coding: utf-8 -*-
import requests
from urllib.parse import urlencode # python模仿百度搜索引擎
# keyword = input(">>:").strip()
# res = urlencode({"wd": keyword}, encoding="utf-8")
# url = "https://www.baidu.com/s?" + res
# print(url)
# response = requests.get(url,
# params={
# "wd":keyword, #搜索关键词
# "pn":20 #类似于页码
# },
# headers={
# # 假如没有带user-agent则获取不到页面信息
# "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
# },
# )
# with open("tt.html", "w", encoding="utf-8") as f:
# f.write(response.text) # github免密码登录
# 带着第一次访问网页的cookie去请求页面,即使不用登录也可以访问资源 response = requests.get(
url="https://github.com/settings/emails",
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
"Cookie": "_octo=GH1.1.892890929.1501206039; logged_ixxxxs; dotcom_user=522338473; _ga=GA1.2.11058xxxxx501206039; user_session=xxxxxxxxxOXK_aYSafJ4eG2nSniFW8Cs; __Host-user_session_same_site=eeNPhtNVe46wW48GpyotWT_pbOXK_aYSafJ4eG2nSniFW8Cs; tz=Asia%2FShanghai; _gat=1; _gh_sess=eyJxxxx9uX2lkIjoiZmVlOGZlZmRiYjJxxxxxDM1MWExYzg1ZWMzYzQiLCJsYXN0X3JlYWRfZnJvbV9yZXBsaWNhcyI6MTUxNjAyMzIzMDQ2OCwiY29udGV4dCI6Ii8iLCJyZXR1cm5fdG8iOiIvc2V0dGluZ3MvZW1haWxzIn0%3D--45e20d559f7c0df0ee8959a1796dcdd3780f71bb",
},
allow_redirects=False, #假如url中有location.href,为flask,不跳转
)
print("522338473@qq.com" in response.text)
有些网站解析到本地会出现编码问题导致的乱码,用chardet可以完美的解决
直接可以将chardet探测到的编码,赋值给response.encoding实现解码,当输出text
文档的时候就不会出现乱码了,
import requests
response = requests.get("https://www.cnblogs.com")
import chardet
print(chardet.detect(response.content))
response.encoding = chardet.detect(response.content)["encoding"]
print(response.text)
除此之外还有一种基于流 的模式
import requests
response = requests.get("https://www.baidu.com",stream=True)
print(response.raw.read)
设置stream=True标志位,使得响应以字节流的方式进行读取,response.read函数可以指定读取的字节数

请求库-request使用的更多相关文章

  1. [转]Android各大网络请求库的比较及实战

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  2. Android之网络请求库

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  3. 自己动手写一个iOS 网络请求库的三部曲[转]

    代码示例:https://github.com/johnlui/Swift-On-iOS/blob/master/BuildYourHTTPRequestLibrary 开源项目:Pitaya,适合大 ...

  4. 【转载】一步一步搭建自己的iOS网络请求库

    一步一步搭建自己的iOS网络请求库(一) 大家好,我是LastDay,很久没有写博客了,这周会分享一个的HTTP请求库的编写经验. 简单的介绍 介绍一下,NSURLSession是iOS7中新的网络接 ...

  5. Android进阶笔记02:Android 网络请求库的比较及实战(二)

    一.Volley        既然在android2.2之后不建议使用HttpClient,那么有没有一个库是android2.2及以下版本使用HttpClient,而android2.3及以上版本 ...

  6. Android进阶笔记01:Android 网络请求库的比较及实战(一)

    在实际开发中,有的时候需要频繁的网络请求,而网络请求的方式很多,最常见的也就那么几个.本篇文章对常见的网络请求库进行一个总结. 一.使用HttpUrlConnection: 1. HttpUrlCon ...

  7. HTTP请求(Request)和回应(Response)对象

    附录H HTTP请求(Request)和回应(Response)对象 57 http://djangobook.py3k.cn/ Django使用request和response对象在系统间传递状态. ...

  8. 爬虫请求库——requests

    请求库,即可以模仿浏览器对网站发起请求的模块(库). requests模块 使用requests可以模拟浏览器的请求,requests模块的本质是封装了urllib3模块的功能,比起之前用到的urll ...

  9. Python3编写网络爬虫02-基本请求库requests的使用

    一.requests 库使用 需要安装 pip install requests import requests #导入requests库 request = requests.get("h ...

随机推荐

  1. Python 项目实践一(外星人入侵小游戏)第五篇

    接着上节的继续学习,在本章中,我们将结束游戏<外星人入侵>的开发.我们将添加一个Play按钮,用于根据需要启动游戏以及在游戏结束后重启游戏.我们还将修改这个游戏,使其在玩家的等级提高时加快 ...

  2. Android查缺补漏--ContentProvider的使用

    ContentProvider (内容提供者)是一种共享型组件,可以为系统内应用于与应用之间提供访问接口. ContentProvide要想正常工作需要三个关键点: ContentProvider:对 ...

  3. JavaScript定时器:setTimeout()和setInterval()

    1 超时调用setTimeout() 顾名思义,超时调用的意思就是在一段实际之后调用(在执行代码之前要等待多少毫秒) setTimeout()他可以接收两个参数: 1 要执行的代码或函数 2 毫秒(在 ...

  4. java 异常处理机制(java 编程思想)

    一.概念 "异常"这个词有"我对此感到意外"的意思.问题出现了,你也许并不清楚该如何处理,但你的确知道不应该置之不理:你要停下来,看看是不是有别人或在别的地方, ...

  5. csdn博客被删除联系客服恢复

    前几天写了篇"如何使用shadowsocksFQ",居然被删除,我很郁闷,客服给我的回答是"影响了客户体验,网安查的严,不能带有FQ的信息出现" 我一直很郁闷, ...

  6. HTML5学习知识点

    一.文档问题 1.html5新标签:section.header.footer.nav.aside.blockquote.q.fieldest.figure.address.article.detai ...

  7. ES6 二进制数组

    二进制数组(ArrayBuffer对象.TypedArray视图和DataView视图)是JavaScript操作二进制数据的一个接口.这些对象早就存在,属于独立的规格(2011年2月发布),ES6将 ...

  8. Docker -- 安全/部分命令/Daemon

    Docker -- 终极指南 1.安装过程 -- Docker -- docker pull 镜像 -- docker images 列出镜像    -- docker run --rm -ti ub ...

  9. Nodejs的运行原理-架构篇

    前言 本来是想只做一个Nodejs运行原理-科普篇,但是收到了不少私信,要我多分享一些更进阶,更详细的内容,所以我会在接下来的两个月里继续更新Nodejs运行原理. PS:此系列只做Nodejs的运行 ...

  10. Python 实现接口类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)

    实现接口类的两种方式 方式一 from abc import ABCMeta from abc import abstractmethod class BaseMessage(metaclass=AB ...