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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
Python通过poll实现异步IO的方法
Jun 04 Python
Python聊天室实例程序分享
Jan 05 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
Python并发之多进程的方法实例代码
Aug 15 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
django之静态文件 django 2.0 在网页中显示图片的例子
Jul 28 Python
python 插入日期数据到Oracle实例
Mar 02 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
浅谈python 类方法/静态方法
Sep 18 Python
Python图像读写方法对比
Nov 16 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 进程锁定问题分析研究
2009/11/24 PHP
php的urlencode()URL编码函数浅析
2011/08/09 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python上传package到Pypi(代码简单)
2016/02/06 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
HR喜欢的自荐信格式
2013/10/08 职场文书
西门豹教学反思
2014/02/04 职场文书
工程师岗位职责规定
2014/02/26 职场文书
事业单位鉴定材料
2014/05/25 职场文书
商务经理岗位职责
2014/07/30 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
2014年环保工作总结
2014/11/26 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
学校捐书倡议书
2015/04/27 职场文书
关于军训的感想
2015/08/07 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
JavaScript设计模式之原型模式详情
2022/06/21 Javascript