当前位置:首页 > Web开发 > 正文

1、web爬虫,requests请求

2024-03-31 Web开发

标签:

requests请求,就是用python的requests模块模拟浏览器请求,返回html源码

模拟浏览器请求有两种,一种是不需要用户登录或者验证的请求,一种是需要用户登录或者验证的请求

一、不需要用户登录或者验证的请求

这种比较简单,直接利用requests模块发一个请求即可拿到html源码

#!/usr/bin/env python # -*- coding:utf8 -*- import requests #导入模拟浏览器请求模块 http =requests.get(url=http://www.mamicode.com/"") #发送http请求 http.encoding = "utf-8" #http请求编码 neir = http.text #获取http字符串代码 print(neir)

<!DOCTYPE html> <html> <head> <title>抽屉新热榜-聚合每日热门、搞笑、有趣资讯</title> <meta charset=http://www.mamicode.com/"utf-8" /> <meta name=http://www.mamicode.com/"keywords" content=http://www.mamicode.com/"抽屉新热榜,资讯,段子,图片,公众场合不宜,科技,新闻,节操,搞笑" /> <meta name=http://www.mamicode.com/"description" content=http://www.mamicode.com/" 抽屉新热榜,汇聚每日搞笑段子、热门图片、有趣新闻。它将微博、门户、社区、bbs、社交网站等海量内容聚合在一起,通过用户推荐生成最热榜单。看抽屉新热榜,每日热门、有趣资讯尽收眼底。 " /> <meta name=http://www.mamicode.com/"robots" content=http://www.mamicode.com/"index,follow" /> <meta name=http://www.mamicode.com/"GOOGLEBOT" content=http://www.mamicode.com/"index,follow" /> <meta name=http://www.mamicode.com/"Author" content=http://www.mamicode.com/"搞笑" /> <meta http-equiv=http://www.mamicode.com/"X-UA-Compatible" content=http://www.mamicode.com/"IE=EmulateIE8"> <link type=http://www.mamicode.com/"image/x-icon" href=http://www.mamicode.com/"/images/chouti.ico" rel=http://www.mamicode.com/"icon"/> <link type=http://www.mamicode.com/"image/x-icon" href=http://www.mamicode.com/"/images/chouti.ico" rel=http://www.mamicode.com/"Shortcut Icon"/> <link type=http://www.mamicode.com/"image/x-icon" href=http://www.mamicode.com/"/images/chouti.ico" rel=http://www.mamicode.com/"bookmark"/> <link type=http://www.mamicode.com/"application/opensearchdescription+xml"

二、需要用户登录或者验证的请求

获取这种页面时,我们首先要了解整个登录过程,一般登录过程是,当用户第一次访问时,会自动在浏览器生成cookie文件,当用户输入登录信息后会携带着生成的cookie文件,如果登录信息正确会给这个cookie

授权,授权后以后访问需要登录的页面时携带授权后cookie即可

1、首先访问一下首页,然后查看是否有自动生成cookie

#!/usr/bin/env python # -*- coding:utf8 -*- import requests #导入模拟浏览器请求模块 ### 1、在没登录之前访问一下首页,获取cookie i1 =http://www.mamicode.com/ requests.get( url=http://www.mamicode.com/"", headers={Referer: } ) i1.encoding = "utf-8" #http请求编码 i1_cookie =http://www.mamicode.com/ i1.cookies.get_dict() print(i1_cookie) #返回获取到的cookie #返回:{‘JSESSIONID‘: ‘aaaTztKP-KaGLbX-T6R0v‘, ‘gpsd‘: ‘c227f059746c839a28ab136060fe6ebe‘, ‘route‘: ‘f8b4f4a95eeeb2efcff5fd5e417b8319‘}

可以看到生成了cookie,说明如果登陆信息正确,后台会给这里的cookie授权,以后访问需要登录的页面携带授权后的cookie即可

2、让程序自动去登录授权cookie

首先我们用浏览器访问登录页面,随便乱输入一下登录密码和账号,获取登录页面url,和登录所需要的字段

技术图片

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/41246.html