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线程创建和终止实例代码
Jan 20 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 Python
用python爬取租房网站信息的代码
Dec 14 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
Python 读取位于包中的数据文件
Aug 07 Python
class类在python中获取金融数据的实例方法
Dec 10 Python
Python pandas之求和运算和非空值个数统计
Aug 07 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
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
python的中异常处理机制
2018/08/30 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
关于圣诞节的广播稿
2014/01/26 职场文书
班主任评语大全
2014/04/26 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
公司承诺函范文
2015/01/21 职场文书
质检员岗位职责
2015/02/03 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
windows系统安装配置nginx环境
2022/06/28 Servers