python爬虫—–Python访问http的几种方式「建议收藏」

python爬虫—–Python访问http的几种方式「建议收藏」爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式:会使用到的库urllibrequests1.urlopen2.requests用到requ

大家好,又见面了,我是你们的朋友全栈君。

爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式:

会使用到的库  urllib   requests

1.urlopen

import urllib.request
import urllib.parse
import urllib.error
import socket
data = bytes(urllib.parse.urlencode({"hello": "world"}),encoding='utf8')
try:
response = urllib.request.urlopen('http://httpbin.org/post',data=data,timeout=10)
print(response.status)
print(response.read().decode('utf-8'))
except urllib.error.URLError as e:
if isinstance(e.reason, socket.timeout):
print("TIMEOUT")

2.requests

用到requests中的get  post  delete  put 方法访问请求  这种比一简单一些

每个方法有相应的参数列表,比如 get  params参数   proxies:设置代理  auth: 认证  timeout :超时时间 等 

import requests
ico = requests.get("https://github.com/favicon.ico")
with open("favicon.ico", "wb") as file:
file.write(ico.content)

3.Request Session

from requests import Session, Request
url = "https://home.cnblogs.com/u/qiutian-guniang/"
s = Session()
req = Request('GET', url=url, headers=header)
pred = s.prepare_request(req)
r = s.send(pred)
print(r.text)
某些网页会禁止抓取数据 我们可以 通过设置User-Agent来设置 使用cookies来保持登录的访问状态例如:以下的cookie内容可以通过在F12控制台获取 复制粘贴 放入headers中

python爬虫-----Python访问http的几种方式「建议收藏」

cookies = "_gat=1"

headers = {
"Cookie": cookies,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/68.0.3440.106 Safari/537.36'
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155864.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月3日 上午6:46
下一篇 2022年7月3日 上午7:00


相关推荐

  • 昨天内部haskell freetalk的ppt和源码[通俗易懂]

    2007-03-30旧帖。原发:http://blog.csdn.net/st_monad/article/details/1546007本次交流主要围绕haskell在windows/yBSD上的安装、语言特性、利用单子对象封装副作用、文本解析库parsec、多核处理器并行计算支持、与C程序静态联编等方面展开,并形成了一定的产出,代码也放入了上述zip包中。我没有找到

    2022年4月9日
    49
  • MinGW安装教程——著名C/C++编译器GCC的Windows版本[通俗易懂]

    前言本文主要讲述如何安装C语言编译器——MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用。编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人更容易理解作者的意图及思想。因此,我将安装MinGW的过程和步骤,编写成了这篇以图片为主的教程,为了让看到这篇文章的任何人,都可以很容易按照图片所示正确安装MinGW。一、什么是MinGW…

    2022年4月8日
    71
  • Eclipse下载与安装教程(最简单版)「建议收藏」

    Eclipse下载与安装教程(最简单版)「建议收藏」这是最新,最简单的Eclipse下载与安装教程,希望对各位有所帮助。

    2022年6月9日
    36
  • 免费php空间带域名,freehostia免费250MB无广告PHP空间可绑域名「建议收藏」

    免费php空间带域名,freehostia免费250MB无广告PHP空间可绑域名「建议收藏」freehostia是一个老牌的主机服务商,创建于2005年,不但提供收费主机及域名,也提供可无限续期的免费PHP空间。空间信息:空间大小:250M月流量:6G免费域名:无绑定域名:支持申请指南:1、进入freehostia空间官方网站:http://www.freehostia.com/。2、选择免费空间free套餐开始注册,如果你找不到,请直接打开此链接:http://www.freeho…

    2022年6月24日
    38
  • pycharm基本操作_pycharm用法

    pycharm基本操作_pycharm用法0前言1官方快捷键2自定义快捷键0前言1官方快捷键Ctrl+快捷键说明Ctrl+鼠标左键/B点击变量应用处,到达变量定义处点击变量定义处,显示变量应用列表Ctrl+C/X/V复制/剪切/粘贴Ctrl+D现场复制粘贴选中的区域或当前行Ctrl+F/R开启查找/替换功能,开启时自动填写选中的字符Ctrl+H显示当前class的层次结构Ctrl+S全部保存Ctrl+W扩大光标选中范围Ctrl.

    2022年8月28日
    7
  • 制作CYDIA发布源的DEB文件,详解!

    制作CYDIA发布源的DEB文件,详解!原文地址 制作 CYDIA 发布源的 DEB 文件 详解 作者 NeoZ nbsp 首先需要一个可以编辑和压制的环境 Ubuntu Debian 是 deb 文件系统的原生系统 在兼容性和处理性能上最好 如果你没有 LinuxDebian 或 Ubuntu 系统的机器 不要紧 可以随时用 VMwareStatio 或 VirtualBox 虚拟机来安装一个 我用的 Ubuntu12 0 4 全新系

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号