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'
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • hdu 5063 Operation the Sequence(Bestcoder Round #13)「建议收藏」

    hdu 5063 Operation the Sequence(Bestcoder Round #13)

  • mysql和sqlserver区别_一定和必须的区别

    mysql和sqlserver区别_一定和必须的区别区别一mysql支持enum,和set类型,sqlserver不支持mysql不支持nchar,nvarchar,ntext类型mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1)msms默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的mysql需要为表指定存储类型mssql识别符是[],[type]表示他区别于…

  • Java集合篇:Stack

    Java集合篇:Stack

  • 国外企业电子邮箱大全,国外用邮箱哪个好?怎么注册国外邮箱?「建议收藏」

    国外企业电子邮箱大全,国外用邮箱哪个好?怎么注册国外邮箱?「建议收藏」外贸、物流、留学移民等公司都会用到能往国外发邮件的邮箱。在知乎上看到,TOM企业邮箱国内国外都能用,移动办公也方便。国外用邮箱群发邮件群发开发信、给客户群发节日祝福都会企业邮箱的邮件群发功能。用群发单显能起到事半功倍的效果,如下图,登录邮箱后,点击【写邮件】,再点击【群发单显】就能一次几百封的群发邮件了。如何是给公司所有员工群发邮件通知,还是邮件群组更方便。像微信群一样,把所有人拉到一个群组里,往这个组里发通知,群里其他人都能收到,适用于公司内部多部门、跨地区管理沟通。TOM这个国际邮箱之所以用的

  • 外挂基础_开挂的正确姿势

    外挂基础_开挂的正确姿势一、前言  所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去

  • 5G nr频段_5g哪个信道信号强

    5G nr频段_5g哪个信道信号强文章目录1.工作频段2.基站信道带宽2.1传输带宽配置2.2最小保护带3.信道安排3.1信道栅格3.2同步栅格参考文献1.工作频段NR工作在两大频率范围(FrequencyRange,FR):FR1和FR2,如下表1-1所示[1]。表1-1.频率范围的定义[1](TS38.104Table5.1-1)FR1和FR2中,又划分了多个不同的工作频段,如下表1-2和下表1-3所示[1]。表中的n代表NR。表1-2.NR在FR1中的工作频段[1](TS38

发表回复

您的电子邮箱地址不会被公开。

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