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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • log4cpp 使用完全手册「建议收藏」

    log4cpp 使用完全手册「建议收藏」原文链接 点击打开链接一、log4cpp概述     Log4cpp是一个开源的C++类库,它提供了C++程序中使用日志和跟踪调试的功能,它的优点如下:提供应用程序运行上下文,方便跟踪调试;可扩展的、多种方式记录日志,包括命令行、文件、回卷文件、内存、syslog服务器、Win事件日志等;可以动态控制日志记录级别,在效率和功能中进行调整;所有配置可以通过配置文件进行动态调整;多语言支持,包括Ja…

    2022年7月13日
  • 智能家居趋势[通俗易懂]

    智能家居趋势[通俗易懂]光纤到户,宽带提速,提升3G网络的覆盖面和服务质量,推动年内发放4G牌照,全面推进三网融合,年内在试点基础上向全国推广……种种政策告诉我们,互联网将会覆盖全球,上传、下载速度将会大幅度提高,信息时代的到来已是大势所趋。作为对于互联网依赖程度比较深的智能家居,在这样一场浪潮中,将会成为最大的受益者之一,尤其,在目前的经济形势以及技术发展形势中,智能家居代表的已经是新一轮信息技术革命中,价值最大的产业…

    2022年6月22日
  • 版本号命名规则_文件版本号命名规则

    版本号命名规则_文件版本号命名规则版本号的格式为X.Y.Z(又称Major.Minor.Patch),递增的规则为:X表示主版本号,当API的兼容性变化时,X需递增。Y表示次版本号,当增加功能时(不影响API的兼容性),Y需递增。Z表示修订号,当做Bug修复时(不影响API的兼容性),Z需递增。详细的规则如下:X,Y,Z必须为非负整数,且不得包含前导零,必须按数值递增,如1….

    2022年9月11日
  • GitHub 标星 2.9w+,我发现了一个宝藏项目,作为编程新手有福了!「建议收藏」

    GitHub 标星 2.9w+,我发现了一个宝藏项目,作为编程新手有福了!「建议收藏」大家好,我是Rocky0429,一个最近老在GitHub上闲逛的蒟蒻…特别惭愧的是,虽然我很早就知道GitHub,但是学会逛GitHub的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞ACM,没有做一些工程类的项目,所以想当然的以为和GitHub也没什么关系(当然这种想法是错误的)。后来自己花了一个星期看完了Pyt…

    2022年6月17日
  • lrzsz的乱码问题[通俗易懂]

    lrzsz的乱码问题[通俗易懂]相信多数人都使用过lrzsz,它是一款在linux里可代替ftp上传和下载的程序。(来源:百度百科)lrzsz,它可以实现在windows和linux之间进行文件传输,有rz和sz两条命令。-rz:将windows上的文件传输到linux上。-sz:将linux上的文件传到windows上。在ubuntu16上lrzsz的安装:一条简单的命令即可apt-getinstalll…

    2022年6月23日
  • 组合数学容斥原理答案_容斥原理例题精讲

    组合数学容斥原理答案_容斥原理例题精讲一.容斥原理就是人们为了不重复计算重叠部分,想出的一种不重复计算的方法。先来认识一下这两个符号:与(如图)蓝色的圈就是c1c2,红色的圈围起来的就是c1c2二.例题:组合数学1.题目1.1.题目描述八是个很有趣的数字啊。八=发,八八=爸爸,88=拜拜。当然最有趣的还是8用二进制表示是1000。怎么样,有趣吧。当然题目和这些都没有关系。某个人很无聊,他想找出[a,b…

    2022年10月28日

发表回复

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

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