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实现得到一个给定类的虚函数
Sep 28 Python
Python的Bottle框架中返回静态文件和JSON对象的方法
Apr 30 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
Python3中bytes类型转换为str类型
Sep 27 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
python异步Web框架sanic的实现
Apr 27 Python
python实现简易版学生成绩管理系统
Jun 22 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
PHP获取网站域名和地址的代码
2008/08/17 PHP
非常实用的php验证码类
2016/05/15 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
js中传递特殊字符(+,&)的方法
2014/01/16 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
javascript如何创建对象
2016/08/29 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python openpyxl模块实现excel读写操作
2020/06/30 Python
Python如何急速下载第三方库详解
2020/11/02 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
介绍一下Linux中的链接
2016/05/28 面试题
值传递还是引用传递
2015/02/08 面试题
销售总监工作职责
2013/11/21 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
迟到检讨书5000字
2014/01/31 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
win10下go mod配置方式
2021/04/25 Golang
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python