1、web爬虫,requests请求
标签:
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