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之dict()的操作方法
Sep 24 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
Python使用pymysql小技巧
Jun 04 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
Python利用递归实现文件的复制方法
Oct 27 Python
python selenium执行所有测试用例并生成报告的方法
Feb 13 Python
Python的几种主动结束程序方式
Nov 22 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 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
第十四节--命名空间
2006/11/16 PHP
在PHP中使用模板的方法
2008/05/24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
apache php mysql开发环境安装教程
2016/07/28 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
js查错流程归纳
2012/05/04 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
python画图常规设置方式
2020/03/05 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
python 获取字典键值对的实现
2020/11/12 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
门卫工作岗位职责
2013/12/17 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
综治宣传月活动总结
2014/04/28 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL