Python基于requests库爬取网站信息


Posted in Python onMarch 02, 2020

requests库是一个简介且简单的处理HTTP请求的第三方库

get()是获取网页最常用的方式,其基本使用方式如下

使用requests库获取HTML页面并将其转换成字符串后,需要进一步解析HTML页面格式,这里我们常用的就是beautifulsoup4库,用于解析和处理HTML和XML

下面这段代码便是爬取百度的信息并简单输出百度的界面信息

import requests
from bs4 import BeautifulSoup
r=requests.get('http://www.baidu.com')
r.encoding=None
result=r.text
bs=BeautifulSoup(result,'html.parser')
print(bs.title)
print(bs.title.text)
import requests
from bs4 import BeautifulSoup

#用来解决乱码现象,所以编写爬取信息的代码最好带上(输出出现乱码或者UnicodeEncodeError:'gbk'codec can't encode character) 
import io   
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')

#用来防止反爬取,可以了解一下
headers={"User-Agent" : "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6)",
"Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",

"Accept-Language" : "en-us",

"Connection" : "keep-alive",

"Accept-Charset" : "GB2312,utf-8;q=0.7,*;q=0.7"
}

#获取51job网站的基本信息
r=requests.get('https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=')
r.encoding=r.apparent_encoding
result=r.text
bs=BeautifulSoup(result,'html.parser')
print(bs.prettify())

u1=bs.find_all('u1',attrs={'class':'item_con_list'})  #这部分代码便是我们爬取的目标,51job网站上关于python职业的薪资
print(len(u1))
li=bs.find_all('span',attrs={'class':'t4'})
for l in li:
  print(l.text)

上面这段代码便是爬取51job网站上的与python相关职业的薪资

Python基于requests库爬取网站信息Python基于requests库爬取网站信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python多进程共享变量
Apr 06 Python
深入浅析python继承问题
May 29 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
使用python绘制常用的图表
Aug 27 Python
浅谈Python NLP入门教程
Dec 25 Python
python 在屏幕上逐字显示一行字的实例
Dec 24 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
Dec 04 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
Python3实现飞机大战游戏
Apr 24 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
Python OpenCV 图像平移的实现示例
Jun 04 Python
使用python3 实现插入数据到mysql
Mar 02 #Python
python数字类型math库原理解析
Mar 02 #Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 #Python
Python random库使用方法及异常处理方案
Mar 02 #Python
python 实现人和电脑猜拳的示例代码
Mar 02 #Python
解决python3插入mysql时内容带有引号的问题
Mar 02 #Python
python统计字符串中字母出现次数代码实例
Mar 02 #Python
You might like
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
python算法题 链表反转详解
2019/07/02 Python
pytorch 常用线性函数详解
2020/01/15 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
园艺师求职信
2014/03/10 职场文书
开工仪式策划方案
2014/05/23 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers