1 # _*_ coding:utf-8 _*_
 2
 3 import requests
 4 from lxml import etree
 5 import json
 6
 7
 8 def htmlpage(start_url):
 9     """
10     根据输入的职位请求相关页面,调用单个页面解析函数,同时调用写入函数
11     :param start_url:
12     :return:
13     """
14     headers={'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}
15     r=requests.get(start_url)
16     html=r.text
17     content = etree.HTML(html)
18     links=content.xpath('//div[@class="names cutom_font"]/a/@href')
19     for link in links:
20         full_url="https://www.shixiseng.com"+link
21         pageparse(full_url)
22
23 def pageparse(full_url):
24     """
25     单个页面解析函数,爬取职位名称和相应公司名称。
26     :param full_url:
27     :return:
28     """
29     headers = {
30         'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}
31     r = requests.get(full_url)
32     html = r.text
33     content = etree.HTML(html)
34     contents={}
35     jobname=content.xpath('//div[@class="new_job_name"]/@title')
36     #jobdetail=content.xpath('//div[@class="job_detail"]//div/text()')
37     #jobdetails=jobdetail.split(',')
38     comname=content.xpath('//div[@class="job_com_name cutom_font"]/text()')
39     content={
40         "jobname":jobname,
41         #"jobdetail":jobdetail,
42         "comname":comname
43     }
44     writecontent(content)
45
46 def writecontent(content):
47     """
48     把爬取的职位信息写入本地
49     :param content:
50     :return:
51     """
52     with open("shixi.json","a") as f:
53         f.write(json.dumps(content,ensure_ascii = False)+"\n")
54
55 def main(base_url,begain,end):
56     """
57     调度函数
58     :param base_url:
59     :param begain:
60     :param end:
61     :return:
62     """
63     for page in range(begain,end):
64         start_url=base_url+"&p="+str(page)
65         htmlpage(start_url)
66
67 if __name__=="__main__":
68     key=input("job:")  #用户输入职位名称
69     begain=int(input("start:")) #爬取的初始页码
70     end=int(input("end:")) #爬取的结束页码
71     url="https://www.shixiseng.com/interns?k=" #搜索页码
72     base_url=url+key #启始页码
73     main(base_url,begain,end) #调用主函数

结果

{"jobname": ["爬虫实习"], "comname": ["宜信"]}
{"jobname": ["数据挖掘研究实习生(爬虫方向)"], "comname": ["网易游戏"]}
{"jobname": ["金融 Java-爬虫方向实习生(广州)"], "comname": ["唯品会"]}
{"jobname": ["爬虫工程师"], "comname": ["比地科技"]}
{"jobname": ["爬虫工程师"], "comname": ["踪履"]}
{"jobname": ["Java爬虫/数据采集工程师实习"], "comname": ["搜狐"]}
{"jobname": ["爬虫实习生"], "comname": ["地平线机器人"]}
{"jobname": ["Java开发实习生-爬虫开发"], "comname": ["京东金融"]}
{"jobname": ["爬虫工程师"], "comname": ["指食针"]}
{"jobname": ["爬虫实习生"], "comname": ["同花顺"]}
{"jobname": ["爬虫工程师"], "comname": ["TransferEasy"]}
{"jobname": ["数据采集(爬虫)工程师"], "comname": ["乐职网"]}
{"jobname": ["爬虫工程师"], "comname": ["探迹"]}
{"jobname": ["爬虫开发实习生"], "comname": ["妙计旅行"]}
{"jobname": ["网络爬虫实习生"], "comname": ["海天瑞声"]}
{"jobname": ["爬虫实习生"], "comname": ["阿博茨"]}
{"jobname": ["爬虫工程师实习生"], "comname": ["阿博茨"]}
{"jobname": ["助理爬虫工程师"], "comname": ["有数金服"]}
{"jobname": ["数据采集/爬虫工程师/软件工程师"], "comname": ["上海中估联"]}
{"jobname": ["网页爬虫"], "comname": ["赛迪技术"]}
{"jobname": ["爬虫实习生"], "comname": ["阿博茨"]}
{"jobname": ["JavaEE爬虫数据实习生"], "comname": ["行圆汽车"]}
{"jobname": ["Python爬虫数据实习生"], "comname": ["行圆汽车"]}
{"jobname": ["Python爬虫实习生"], "comname": ["商智通"]}
{"jobname": ["搜狐爬虫开发实习生(python)"], "comname": ["搜狐媒体"]}
{"jobname": ["爬虫开发实习生"], "comname": ["北京阿博茨"]}
{"jobname": ["爬虫开发实习生"], "comname": ["勤智数码"]}
{"jobname": ["爬虫系统工程师(实习)"], "comname": ["爱奇艺"]}

转载于:https://www.cnblogs.com/realmonkeykingsun/p/7875115.html

实习僧招聘网站信息采集相关推荐

  1. python爬取实习僧招聘信息字体反爬

    参考博客:http://www.cnblogs.com/eastonliu/p/9925652.html 实习僧招聘的网站采用了字体反爬,在页面上显示正常,查看源码关键信息乱码,如下图所示: 查看网页 ...

  2. (附源码)node.js华联招聘网站011229

    华联招聘网站 摘 要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,招聘网站当然也不能排除在外.招聘网站是以实际运用为开发背景,运用软件工 ...

  3. (附源码)node.js华联招聘网站 毕业设计 011229

    华联招聘网站 摘 要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,招聘网站当然也不能排除在外.招聘网站是以实际运用为开发背景,运用软件工 ...

  4. springbooy+求职招聘网站 毕业设计-附源码301914

    基于springboot的求职招聘网站 摘  要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,求职招聘网站当然也不能排除在外.求职招聘网 ...

  5. 使用requests爬取实习僧网站数据

    任务要求: 爬取实习僧网站的招聘公司信息和职位信息,并存储到数据库中,对应的数据库表和需要爬取的字段见下面表一和表二(注意:爬取存在的字段) 代码以上传带github上:使用requests爬取实习僧 ...

  6. 爬虫实战:链家租房数据爬取,实习僧网站数据爬取

    前面已经进行了爬虫基础部分的学习,于是自己也尝试爬了一些网站数据,用的策略都是比较简单,可能有些因素没有考虑到,但是也爬取到了一定的数据,下面介绍两个爬过的案例. 爬虫实战 链家网站爬取 实习僧网站爬 ...

  7. 实习僧网站字体反爬破解思路及步骤分享

    需要用到的第三方包 fontTools 崔庆才博客:今天,我终于弄懂了字体反爬是个啥玩意! 哔哩哔哩视频:python零基础一节课带你玩转字体反爬 测试网站选取了实习僧:实习僧 TTF(TrueTyp ...

  8. 将爬取的实习僧网站数据传入HDFS

     一.引言: 作为一名大三的学生,找实习对于我们而言是迫在眉睫的.实习作为迈入工作的第一步,它的重要性不言而喻,一份好的实习很大程度上决定了我们以后的职业规划. 那么,一份好的实习应该考量哪些因素呢? ...

  9. 【python实现网络爬虫(4)】实习僧网站信息爬取(字体反爬虫破解)

    实习僧网站 实习僧网址,地址为北京,在搜索框输入"python",如下 实战解析 步骤一.建立for循环爬取前20页的内容 首先.查看翻页URL的信息,找规律 第一页:https: ...

  10. 实习僧——数据分析岗招聘信息分析 源代码

    爬取实习僧网站所有数据分析实习相关的岗位信息,对其做数据分析 import pandas as pd import matplotlib.pyplot as plt import seaborn as ...

最新文章

  1. Invoking Page() in async task.
  2. vscode如何及时提示flutter代码
  3. 《虚拟化和云计算》实验报告——MININET实践SDN
  4. java 三种将list转换为map的方法详解
  5. “约见”面试官系列之常见面试题第十四篇之所有数据类型(建议收藏)
  6. libvirt虚拟机管理常用指令
  7. Typecho 动漫单栏主题First
  8. win8超极本盘符误删找回数据的办法
  9. HDU-1686Oulipo(kmp)
  10. 关键词组合工具-自动关键词挖掘组成关键词软件免费
  11. 自己的阿里云镜像加速器查找
  12. 蓝桥杯 杨辉三角形 python组省赛真题
  13. [数据挖掘笔记01] 关联规则Apriori算法
  14. Safari浏览器显示网页不全问题解决方法
  15. 小马哥-----高仿苹果6s plus刷机拆机主板型号Q39主板图与开机界面图 分版本
  16. elementui 文件转ts_[ElementUI] 修改默认语言为英文 el-table filter 筛选
  17. 基于虚拟机对第三代蜜网技术Honeywall的设置
  18. 柳下挥、六道、鱼人二代入围第四届橙瓜网络文学奖十佳都市大神
  19. 我用过的最好的python编辑器PyScripter
  20. Web前端:一些必不可少的惊人的网络开发工具和资源

热门文章

  1. python学完不会用_如何学习Python的基础知我感觉我学Python的基础知识学了不会运用,就是学完一节课写代码就抓瞎?...
  2. 超级计算机通信工程研发相关高校,美国签证技巧
  3. 第五届蓝桥杯B组java—猜字母
  4. 过桥问题--马儿赛跑问题--智力题
  5. java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)
  6. ABAP里面的OCCURS与HEADER LINE之间的一些区别
  7. 基于天牛须搜索算法的函数寻优算法
  8. 将.fits数据转换为.png图像
  9. 台风怎么看内存颗粒_普条居然采用南亚A-DIE HR颗粒,光威TYPEα内存条稳超3200MHZ...
  10. 南京软件企业挨个介绍及计算机学习的一点经验交流