python爬虫基础教程:requests库(二)代码实例

yipeiwu_com7年前Python爬虫

get请求

简单使用

import requests
'''
想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!
'''
response = requests.get("https://www.baidu.com/")
#text返回的是unicode的字符串,可能会出现乱码情况
# print(response.text)
 
#content返回的是字节,需要解码
print(response.content.decode('utf-8'))
 
 
# print(response.url)       #https://www.baidu.com/
# print(response.status_code)   #200
# print(response.encoding)    #ISO-8859-1

添加headers和params

import requests
 
params = {
  'wd':'python'
}
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36'
}
 
response = requests.get("https://www.baidu.com/s",params=params,headers=headers)
 
#content返回的是字节,需要解码
with open('baidu.html','w',encoding='utf-8') as f:
  f.write(response.content.decode('utf-8'))

POST请求

爬去拉钩网职位信息

import requests
 
url = "https://www.lagou.com/jobs/positionAjax.json?city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false"
 
data = {
  'first':'true',
  'pn':1,
  'kd':'python'
}
 
headers = {
  "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36",
  "Referer":"https://www.lagou.com/jobs/list_python?city=%E5%8C%97%E4%BA%AC&cl=false&fromSearch=true&labelWords=&suginput="
}
 
response = requests.post(url,data=data,headers=headers)
# print(response.text)
print(type(response.text))    #<class 'str'>
print(type(response.json()))   #<class 'dict'>
 
print(response.json())      #获取为字典的形式

使用代理

import requests
 
proxy = {'http':'115.210.31.236.55:9000'}
 
response = requests.get("https://www.baidu.com/",proxies=proxy)
 
print(response.content.decode('utf-8'))

session登录

# _*_ coding:utf-8 _*_
 
import requests
 
# 1. 创建session对象,可以保存Cookie值
ssion = requests.session()
 
# 2. 处理 headers
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36'}
 
# 3. 需要登录的用户名和密码
data = {"email":"158xxxxxxxx", "password":"pythonxxxxxxx"}
 
# 4. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
ssion.post("http://www.renren.com/PLogin.do", data = data)
 
# 5. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = ssion.get("http://zhibo.renren.com/news/108")
 
# 6. 打印响应内容
print(response.text)
 

以上所述是小编给大家介绍的python爬虫基础教程:requests库(二)详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python爬虫爬取监控教务系统的思路详解

python爬虫爬取监控教务系统的思路详解

这几天考了大大小小几门课,教务系统又没有成绩通知功能,为了急切想知道自己挂了多少门,于是我写下这个脚本。 设计思路: 设计思路很简单,首先对已有的成绩进行处理,变为list集合,然后定时...

用python爬取历史天气数据的方法示例

用python爬取历史天气数据的方法示例

某天气网站(www.数字.com)存有2011年至今的天气数据,有天看到一本爬虫教材提到了爬取这些数据的方法,学习之,并加以改进。 准备爬的历史天气 爬之前先分析url。左上有年份、...

深入剖析Python的爬虫框架Scrapy的结构与运作流程

深入剖析Python的爬虫框架Scrapy的结构与运作流程

网络爬虫(Web Crawler, Spider)就是一个在网络上乱爬的机器人。当然它通常并不是一个实体的机器人,因为网络本身也是虚拟的东西,所以这个“机器人”其实也就是一段程序,并且它...

python爬虫 Pyppeteer使用方法解析

引言 Selenium 在被使用的时候有个麻烦事,就是环境的相关配置,得安装好相关浏览器,比如 Chrome、Firefox 等等,然后还要到官方网站去下载对应的驱动,最重要的还需要安...

Python爬虫常用小技巧之设置代理IP

设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站。假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问。所以你可以设置...