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实现查找系统盘中需要找的字符
Jul 14 Python
python web框架学习笔记
May 03 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
Django框架视图层URL映射与反向解析实例分析
Jul 29 Python
Python socket 套接字实现通信详解
Aug 27 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
Feb 10 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
使用Django清空数据库并重新生成
Apr 03 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
Python编写万花尺图案实例
Jan 03 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 MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
python操作mysql数据库
2017/03/05 Python
python 性能优化方法小结
2017/03/31 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
Python实现快速排序的方法详解
2019/10/25 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
雷人标语集锦
2014/06/19 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
烟台的海导游词
2015/02/02 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
党支部对转正的意见
2015/06/02 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL