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 1.6中正确使用 Signal
Jun 22 Python
跟老齐学Python之关于类的初步认识
Oct 11 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python队列的定义与使用方法示例
Jun 24 Python
python下载图片实现方法(超简单)
Jul 21 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
python基于http下载视频或音频
Jun 20 Python
python pyenv多版本管理工具的使用
Dec 23 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
Django视图、传参和forms验证操作
Jul 15 Python
弄清Pytorch显存的分配机制
Dec 10 Python
pytorch __init__、forward与__call__的用法小结
Feb 27 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
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
HTML node相关的一些资料整理
2010/01/01 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python机器学习logistic回归代码解析
2018/01/17 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Django之模板层的实现代码
2019/09/09 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
keras输出预测值和真实值方式
2020/06/27 Python
python自动化办公操作PPT的实现
2021/02/05 Python
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
介绍一下Ruby的多线程处理
2013/02/01 面试题
遗嘱公证书标准样本
2014/04/08 职场文书
承诺书格式范文
2014/06/03 职场文书
锦旗标语大全
2014/06/23 职场文书
家具商场的活动方案
2014/08/16 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
小学生作文批改评语
2014/12/25 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis