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 相关文章推荐
Django中使用locals()函数的技巧
Jul 16 Python
微信跳一跳自动运行python脚本
Jan 08 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
一步步教你用python的scrapy编写一个爬虫
Apr 17 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
Python常驻任务实现接收外界参数代码解析
Jul 21 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
详解python爬取弹幕与数据分析
Nov 14 Python
python3 re返回形式总结
Nov 20 Python
解决python的空格和tab混淆而报错的问题
Feb 26 Python
python线程优先级队列知识点总结
Feb 28 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 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 insert语法详解
2008/06/07 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
php 基础函数
2017/02/10 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
用JAVASCRIPT如何给<textarea></textarea>赋值
2007/04/20 Javascript
Prototype Class对象学习
2009/07/19 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
js代码实现轮播图
2020/05/04 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
中医药大学市场营销专业自荐信
2013/09/29 职场文书
中学劳技课教师的自我评价
2014/02/05 职场文书
青年志愿者活动方案
2014/08/17 职场文书
员工工作表现自我评价
2015/03/06 职场文书
安全教育第一课观后感
2015/06/17 职场文书
2016猴年春节问候语
2015/11/11 职场文书
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers