2026/4/1 10:07:04
网站建设
项目流程
庄行网站建设,mc做弊端网站,广州网站制作服务,网络推广怎么免费做9.4 爬虫之网络请求
9.4.1 使用requests库发送HTTP请求
requests库提供了丰富的功能来发送HTTP请求#xff0c;并处理响应。以下是一些额外的示例和说明。
发送带参数的GET请求#xff1a;
如果你需要向服务器发送查询参数#xff0c;可以将它们作为字典传递给params参数。
…9.4 爬虫之网络请求9.4.1 使用requests库发送HTTP请求requests库提供了丰富的功能来发送HTTP请求并处理响应。以下是一些额外的示例和说明。发送带参数的GET请求如果你需要向服务器发送查询参数可以将它们作为字典传递给params参数。importrequests params{key1:value1,key2:value2}responserequests.get(http://httpbin.org/get,paramsparams)print(response.url)# 输出将包含查询参数http://httpbin.org/get?key1value1key2value2发送POST请求POST请求通常用于向服务器提交数据。你可以将数据作为字典传递给data参数对于表单数据或作为字节串传递给json参数对于JSON数据。importrequests# 发送表单数据data{key:value}responserequests.post(http://httpbin.org/post,datadata)# 发送JSON数据json_data{key:value}responserequests.post(http://httpbin.org/post,jsonjson_data)设置请求头你可以通过headers参数自定义请求头这对于模拟不同的浏览器或绕过某些服务器的检查非常有用。importrequests urlhttp://example.comheaders{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3,Accept:text/html,application/xhtmlxml,application/xml;q0.9,image/webp,*/*;q0.8,Accept-Language:en-US,en;q0.5,DNT:1,# Do Not Track headerConnection:keep-alive}responserequests.get(url,headersheaders)处理响应一旦你发送了请求requests库将返回一个Response对象。你可以使用这个对象来访问响应的内容、状态码、头部等信息。responserequests.get(url)# 访问响应内容print(response.text)# 文本内容print(response.content)# 原始内容字节串# 访问状态码print(response.status_code)# 访问响应头print(response.headers)# 检查请求是否成功ifresponse.status_code200:print(请求成功)else:print(请求失败状态码,response.status_code)会话Session对象如果你需要向同一个服务器发送多个请求并且希望保持某些参数如Cookies在请求之间持久化可以使用requests.Session()对象。importrequests Sessionrequests.Session()# 发送第一个请求设置CookiesresponseSession.get(http://httpbin.org/Cookies/set/SessionCookie/123456789)# 发送第二个请求自动携带之前的CookiesresponseSession.get(http://httpbin.org/Cookies)print(response.text)# 输出将包含SessionCookie: 123456789