爬虫目的

使用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()

最新文章

  1. 软件工程-构建之法 理解C#一小段程序
  2. word嵌入图片部分被段落遮挡
  3. 【OPENGL】第三篇 着色器基础(一)
  4. 打包.a 文件时, build phases- Link Binary With Libraries
  5. ASP.NET MVC 站点设置.html 为起始页
  6. my.cnf详解
  7. httpd.conf 禁止运行PHP和html页面
  8. 为什么用linear regression可以做classification
  9. DOM 操作内容 innerText/innerHTML
  10. SQL重复记录查询的几种方法
  11. Haystack-全文搜索框架
  12. mybatis映射文件#与$的使用,及参数传入规则
  13. jmiter性能测试
  14. php读取ini配置文件属性
  15. Django框架---- 自定义分页组件
  16. java面试和笔试
  17. oozie 运行demo
  18. 在 CentOS 上部署 Nginx 环境
  19. debian下安装 locale 并设置 zh_CN.UTF-8 [转]
  20. Zookeeper -- 本地\完全分布式 搭建

热门文章

  1. vs2015 debug时出现 C2039“cout”: 不是“std”的成员
  2. linux查看端口常用命令
  3. SQL Server 数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
  4. [转帖]70亿!以色列间谍产品公司NSO要被卖掉了
  5. Django-04-路由系统
  6. yii框架无限极分类的做法
  7. cas sso 单点登录
  8. eclipse创建springboot项目的三种方法
  9. Actions require unique method/path combination for Swagger
  10. C# vb .net实现圆角矩形特效滤镜