Python爬虫入门——使用requests爬取python岗位招聘数据
2024-10-21 06:44:45
爬虫目的
使用requests库和BeautifulSoup4库来爬取拉勾网Python相关岗位数据
爬虫工具
使用Requests
库发送http请求,然后用BeautifulSoup库
解析HTML文档对象,并
提取职位信息。
爬取过程
1.请求地址
https://www.lagou.com/zhaopin/Python/
2.需要爬取的内容
(1)岗位名称
(2)薪资
(3)公司所在地
3.查看html
使用FireFox浏览器,登陆拉勾网,按F12
可以进入开发者工具页面:
这时候会看到该页面的html网页源码。
接下来需要寻找岗位信息对应的源码,比如岗位名称:
在开发者工具页面左上角有个箭头标志,点击它,然后再点击岗位名称,就能看到对应的源码。
知道对应的源码后,还需要知道请求头:
点击“网络”,之后点击“get”,在最下方User-Agent中的内容就是请求头
(如果是使用Chrome浏览器或者其它浏览器方法会有所不同)
完成上述操作后就可以利用BeautifulSoup4提取里面的文本。
利用requests发出数据请求
import requests
import io
import sys
from bs4 import BeautifulSoup
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36',}
r = requests.get('https://www.lagou.com/zhaopin/Python/',headers=headers) #设置请求头
r.encoding=r.apparent_encoding
result=r.text
bs=BeautifulSoup(result,'html.parser') #创建一个BeautifulSoup对象
利用BeautifulSoup提取网页数据
b=[] #创建空列表用来存储爬取的数据
a=[]
d=[]
name = bs.find_all('h3') #获取所有包含'h3'标签的内容
’
for h3 in name:
b.append(h3.string)
money = bs.find_all('span',attrs={'class':'money'})
for span in money:
a.append(span.string) #获取字符串形式的数据
ltd=bs.find_all('em')
for em in ltd:
d.append(em.string)
i=0
print("职业:"," 薪资:"," 地点:")
try:
while True:
print(b[i],a[i],d[i])
i+=1
except IndexError:
print()
最新文章
- 软件工程-构建之法 理解C#一小段程序
- word嵌入图片部分被段落遮挡
- 【OPENGL】第三篇 着色器基础(一)
- 打包.a 文件时, build phases- Link Binary With Libraries
- ASP.NET MVC 站点设置.html 为起始页
- my.cnf详解
- httpd.conf 禁止运行PHP和html页面
- 为什么用linear regression可以做classification
- DOM 操作内容 innerText/innerHTML
- SQL重复记录查询的几种方法
- Haystack-全文搜索框架
- mybatis映射文件#与$的使用,及参数传入规则
- jmiter性能测试
- php读取ini配置文件属性
- Django框架---- 自定义分页组件
- java面试和笔试
- oozie 运行demo
- 在 CentOS 上部署 Nginx 环境
- debian下安装 locale 并设置 zh_CN.UTF-8 [转]
- Zookeeper -- 本地\完全分布式 搭建
热门文章
- vs2015 debug时出现 C2039“cout”: 不是“std”的成员
- linux查看端口常用命令
- SQL Server 数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
- [转帖]70亿!以色列间谍产品公司NSO要被卖掉了
- Django-04-路由系统
- yii框架无限极分类的做法
- cas sso 单点登录
- eclipse创建springboot项目的三种方法
- Actions require unique method/path combination for Swagger
- C# vb .net实现圆角矩形特效滤镜