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读取Json字典写入Excel表格的方法
Jan 03 Python
python打包压缩、读取指定目录下的指定类型文件
Apr 12 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
调试Django时打印SQL语句的日志代码实例
Sep 12 Python
python 协程 gevent原理与用法分析
Nov 22 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
Python 中判断列表是否为空的方法
Nov 24 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
python每5分钟从kafka中提取数据的例子
Dec 23 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 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实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
html向js方法传递参数具体实现
2013/08/08 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
vue代理和跨域问题的解决
2018/07/18 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
Python 正则表达式操作指南
2009/05/04 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python之消除前缀重命名的方法
2018/10/21 Python
Django 路由控制的实现代码
2018/11/08 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
python 读取数据库并绘图的实例
2019/12/03 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
企业介绍信范文
2015/01/30 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python
Python OpenCV形态学运算示例详解
2022/04/07 Python