import requests
from lxml import etree# 取得html
def getHtml(html):url=htmlheaders={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"     }try:response=requests.get(url,headers=headers) # get请求
#         print(response.status_code) # 测试
#         response.encoding="utf-8" #编码response.encoding='GBK'html=response.text
#         print(html)return htmlexcept ReadTimeout:print("time out")except ConnectionError:print("connection error")except RequestException:print("request error")def changeString(str):a=str.replace(" ","").replace("\n","").replace("\r","")return adef getInformation(html):results=[]html=etree.HTML(html,etree.HTMLParser())result1=html.xpath('//*[@id="resultList"]/div[*]/p/span/a/text()')result2=html.xpath('//*[@id="resultList"]/div[*]/span[1]/a/text()')result3=html.xpath('//*[@id="resultList"]/div[*]/span[2]/text()')result4=html.xpath('//*[@id="resultList"]/div[*]/span[3]/text()')result5=html.xpath('//*[@id="resultList"]/div[*]/span[4]/text()')for i in range(len(result1)):results.append([changeString(result1[i]),changeString(result2[i]),changeString(result3[i+1]),changeString(result4[i+1]),changeString(result5[i+1])])return resultsdef printInformation(data):tplt = "{0:^15}\t{1:^20}\t{2:^15}\t{3:^15}\t{4:^15}\t"print(tplt.format("职位名","公司名","工作地点","薪资","发布时间",chr(12288)))for i in data:print(tplt.format(i[0],i[1],i[2],i[3],i[4],chr(12288)))# 保存数据
def store(a):with open("./hahaha.txt","w+",encoding="utf-8") as file:tplt = "{0:^15}\t{1:^15}\t{2:^15}\t{3:^15}\t{4:^15}\t"file.write(tplt.format("职位名","公司名","工作地点","薪资","发布时间",chr(12288))+"\n")for i in a:file.write(tplt.format(i[0],i[1],i[2],i[3],i[4],chr(12288))+"\n")return Nonedef main():url="https://search.51job.com/list/120000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258F%2591,2,1.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare="html=getHtml(url)results=getInformation(html)printInformation(results)store(results)print("OK")
main()

网络爬虫案例——前程无忧网java岗位相关推荐

  1. 【Python网络爬虫】前程无忧网爬虫+可视化

    文章目录 前言 一.页面分析 二.代码实现 三.运行结果 四.数据统计及可视化 1.学历占比饼图 2.工作地点TOP10 3.福利词云 4.经验要求 5.公司性质占比圆环图 6.招聘人数玫瑰图 前言 ...

  2. 网络爬虫讲解(附java实现的实例)

    luojinping的专栏 目录视图 摘要视图 订阅 CSDN日报20170219--<程序员的沟通之痛>      [技术直播]揭开人工智能神秘的面纱        程序员1月书讯    ...

  3. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

  4. 【Python爬虫】Python网络爬虫案例:维基百科

    Python网络爬虫案例:维基百科 1.项目描述 本案例的目标是爬取维基百科上的词条连接.爬虫深度设置为两层. 网络蜘蛛:是通过网页的链接地址寻找网页的,从网站某一个页面(通常是首页)开始读取网页的内 ...

  5. 【Python网络爬虫】Python网络爬虫案例:知乎Live

    Python网络爬虫案例:知乎Live 涉及的技术包括以下3种: 爬取网页:解析Ajax动态加载地址 解析网页:提取JSON数据 存储数据:存储至MongoDB数据库 1.项目描述 知乎Live的UR ...

  6. 网络爬虫(2)-- Java爬虫框架

    2019独角兽企业重金招聘Python工程师标准>>> Nutch Nutch属于分布式爬虫,爬虫使用分布式,主要是解决两个问题:1)海量URL管理:2)网速.如果要做搜索引擎,Nu ...

  7. java 爬虫框架nutch_网络爬虫(2)-- Java爬虫框架

    Nutch Nutch属于分布式爬虫,爬虫使用分布式,主要是解决两个问题:1)海量URL管理:2)网速.如果要做搜索引擎,Nutch1.x是一个非常好的选择.Nutch1.x和solr或者es配合,就 ...

  8. 基于HttpClient4.0的网络爬虫基本框架(Java实现)

    上个学期做了很久的新浪爬虫,修修改改一直没时间做个整理,趁着开学前,重新整理了下思路和代码结构,做一个总结吧. 本来是雄心壮志的想实现一个Java版本的.比较通用的爬虫框架的,但是整理后又发现此法真的 ...

  9. java jsoup 网络爬虫 jsoup解析html Java爬虫 Jsoup爬虫 jsoup例子

    java jsoup 网络爬虫 java jsoup 网络爬虫 学习例子(一)抓取豆瓣电影名称+推荐星级 java jsoup 网络爬虫 学习例子(二)只抓取豆瓣电影5星(力荐)电影名称 java j ...

  10. java 网络爬虫_如何用Java实现网络爬虫

    原标题:如何用Java实现网络爬虫 微信公众号"书圈"后台回复[Javapachong1],下载本例的PPT和源码 作品描述 本章作品是一个能够抓取指定网站ACM比赛信息的爬虫.A ...

最新文章

  1. SAP RETAIL 特性树(Characteristic Tree)的定义
  2. 现学现卖微信小程序开发(二)
  3. JAVA中Map集合的使用举例
  4. html正则表达式确认密码,如何使用正则表达式在流星中验证确认密码
  5. java程序输出矩阵_java编程题之顺时针打印矩阵
  6. Duplicate entry...for key...
  7. linux那些事之early pape fault
  8. 演示Go语言多返回值功能
  9. php 条码打印控件,jQuery插件jquery-barcode实现条码打印的方法
  10. mac 安装memcached服务
  11. golangsha1解码_如何阅读Golang的源码?
  12. docker 拷贝镜像文件
  13. 光环PMP 串讲冲刺 敏捷
  14. Centos7重置用户密码
  15. 免费不限速不限存储的网盘推荐
  16. 开发WP版本的大菠萝英雄榜
  17. 如何使用ROS控制真实UR5机器人
  18. 老王学java8周第一天
  19. 3dsMax重新加载原来的材质和贴图的路径
  20. Windows msc文件

热门文章

  1. win11彻底删除hao123的方法
  2. “新一代信息技术助力疫情防控”开课:百度集团副总裁吴甜详解AI如何抗疫
  3. 希望 绝望 前进 枷锁 不退缩 我坚持所有一切
  4. 【亲自动手试验过的】硬盘免光驱安装Fedora5
  5. 微信开发者工具编译失败显示找不到icons中的图片
  6. 追光的人beta冲刺总结
  7. 快播将关闭QVOD服务器 清理低俗内容与涉盗版内容
  8. Java游戏吉他英雄_《吉他英雄:现场》《摇滚乐队4》横向对比:各有所长!
  9. SCZ的3篇有关sam的文章
  10. Exploiting Spatial Structure for Localizing Manipulated Image Regions