当前位置: 首页 > news >正文

中级深入--day15

案例:使用BeautifuSoup4的爬虫

我们以腾讯社招页面来做演示:搜索 | 腾讯招聘

使用BeautifuSoup4解析器,将招聘网页上的职位名称、职位类别、招聘人数、工作地点、发布时间,以及每个职位详情的点击链接存储出来。

# bs4_tencent.pyfrom bs4 import BeautifulSoup
import urllib
import json    # 使用了json格式存储def tencent():url = 'http://hr.tencent.com/'request = urllib.request.Request(url + 'position.php?&start=10#a')response =urllib.request.urlopen(request)resHtml = response.read()output =open('tencent.json','w')html = BeautifulSoup(resHtml,'lxml')# 创建CSS选择器result = html.select('tr[class="even"]')result2 = html.select('tr[class="odd"]')result += result2items = []for site in result:item = {}name = site.select('td a')[0].get_text()detailLink = site.select('td a')[0].attrs['href']catalog = site.select('td')[1].get_text()recruitNumber = site.select('td')[2].get_text()workLocation = site.select('td')[3].get_text()publishTime = site.select('td')[4].get_text()item['name'] = nameitem['detailLink'] = url + detailLinkitem['catalog'] = catalogitem['recruitNumber'] = recruitNumberitem['publishTime'] = publishTimeitems.append(item)# 禁用ascii编码,按utf-8编码line = json.dumps(items,ensure_ascii=False)output.write(line.encode('utf-8'))output.close()if __name__ == "__main__":tencent()
http://www.lryc.cn/news/150834.html

相关文章:

  • 内存四区(个人学习笔记黑马学习)
  • 如何使用RPA + ChatGPT自动化提高自己的工作效率
  • uni-app之android项目配置和打包
  • go语言配置
  • 【深度学习】ChatGPT
  • 爬虫--爬取自己想去的目的的车票信息
  • Metinfo6.0.0任意文件读取【漏洞复现】
  • Postgresql JSON对象和数组查询
  • 搭配购买——并查集+01背包
  • JVM调优指令参数
  • 数据结构入门 — 队列
  • MongoDB - 安装
  • Qt应用开发(基础篇)——颜色选择器 QColorDialog
  • vscode 清除全部的console.log
  • UG\NX CAM二次开发 插入工序 UF_OPER_create
  • C++指针、指针函数、函数指针、类指针
  • 图:最短路径问题(BFS算法,Dijkstra算法,Floyd算法)
  • 栈和队列篇
  • 分享一个vue-slot插槽使用场景
  • Qt应用开发(基础篇)——进度对话框 QProgressDialog
  • 基于SpringBoot2的后台业务管理系统
  • Jmeter(三十):并发测试(设置集合点)
  • Flink的checkpoint是怎么实现的?
  • ubuntu上安装nginx
  • 9. 微积分 - 导数
  • 滑动窗口系列1-达标子数组
  • 电视显示技术及价格成本对比(2023年)
  • 浅谈 Pytest+HttpRunner 如何展开接口测试!
  • vue自定义事件 div 拖拽方法缩小
  • 使用实体解析和图形神经网络进行欺诈检测