环境:python3    pycharm

模块:requests,xlwt,urllib.request,re

正常三步走:

1.获取源代码

2.匹配源代码,获得目标数据

3.存储到文件中

直接上代码,列举两种获取源代码的方式,存储3中文件的方式。自由选择即可。

第一个标红部分引号里面的是网站url,太长就不贴上去了。查找方式:百度前程无忧官网,搜索python,点击页面2,将地址栏的地址粘贴到单引号里面。找到2.html部分,将2替换成{}即可。

第二个标红部分得到数字,是想获得数据的页数,根据需求自己填。

  1. # import requests
  2. import re #用于正则匹配
  3. # import xlwt #excel表格需要用到
  4. import urllib.request
  5.  
  6. #1.用requests模块获取网页html源码
  7. # def get_content(page):
  8. # url = ''.format(page)
  9. # html = requests.get(url).content.decode('gbk')
  10. # return html
  11.  
  12. #1.用urllib模块获取源代码
  13. def get_content(page):
  14. url = ''.format(page) ------------1
  15. html = urllib.request.urlopen(url).read().decode('gbk')
  16. return html
  17.  
  18. #2.获取职位,薪资,公司名称
  19. def get_Data(html):
  20. reg = re.compile(r'class="t1 ".*?<a target="_blank" title="(.*?)".*?<span class="t2"><a target="_blank" '
  21. r'title="(.*?)".*?<span class="t3">(.*?)</span>.*?<span class="t4">(.*?)</span>.*?'
  22. r'<span class="t5">(.*?)</span>',re.S)
  23. items = re.findall(reg,html)
  24. return items
  25.  
  26. #3.存储到.csv文件中
  27. def save_file_csv(items):
  28. import csv
  29. csv_file = open('job.csv', 'w', newline='')
  30. writer = csv.writer(csv_file)
  31. writer.writerow(('职位名称','公司名称','公司地址','薪资','日期'))
  32. for item in items:
  33. writer.writerow(item)
  34.  
  35. #3.存储到excel表格中
  36. # def save_file_excel(items):
  37. # newTable = 'jobs.xls'
  38. # wb = xlwt.Workbook(encoding='utf-8')#创建excel文件
  39. # ws = wb.add_sheet('job')#去创建表
  40. # headData = ['职位名称','公司名称','公司地址','薪资','日期']
  41. # index = 1
  42. # for colnum in range(5):
  43. # ws.write(0,colnum,headData[colnum],xlwt.easyxf('font:bold on'))
  44. # for item in items:
  45. # for j in range(len(item)):
  46. # ws.write(index,j,item[j])
  47. # index += 1
  48. # wb.save(newTable)
  49.  
  50. #3.存储到txt文件中
  51. # def save_file_txt(items):
  52. # with open('job.txt','w') as f:
  53. # for item in items:
  54. # for j in range(len(item)):
  55. # f.write(item[j])
  56. # f.write(' ')
  57. # f.write('\n')
  58.  
  59. if __name__ == '__main__':
  60. for i in range(1,): ---------------2
  61. html = get_content(i)
  62. items = get_Data(html)
  63. save_file_csv(items)

第四篇 - 爬取前程无忧python相关工作的更多相关文章

  1. 用webdriver模仿浏览器 爬取豆瓣python书单

    用webdriver模仿浏览器 爬取豆瓣python书单 其中运用到os 模块 作用是生成文件夹 存储爬取的信息 etree 用于xpath解析内容 详细代码如下 可用我的上一篇博客存取到excel当 ...

  2. 爬取拉勾网python工程师的岗位信息并生成csv文件

    转载自:https://www.cnblogs.com/sui776265233/p/11146969.html 代码写得很好,但是目前只看得懂前一部分 一.爬取和分析相关依赖包 Python版本: ...

  3. Python爬虫学习(二) ——————爬取前程无忧招聘信息并写入excel

    作为一名Pythoner,相信大家对Python的就业前景或多或少会有一些关注.索性我们就写一个爬虫去获取一些我们需要的信息,今天我们要爬取的是前程无忧!说干就干!进入到前程无忧的官网,输入关键字&q ...

  4. Python爬取前程无忧网站上python的招聘信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 我姓刘却留不住你的心 PS:如有需要Python学习资料的小伙伴可以 ...

  5. 爬取前程无忧网站上python的招聘信息。

    本文获取的字段有为职位名称,公司名称,公司地点,薪资,发布时间 创建爬虫项目 scrapy startproject qianchengwuyou cd qianchengwuyou scrapy g ...

  6. Python四线程爬取西刺代理

    import requests from bs4 import BeautifulSoup import lxml import telnetlib #验证代理的可用性 import pymysql. ...

  7. Scrapy实战篇(四)爬取京东商城文胸信息

    创建scrapy项目 scrapy startproject jingdong 填充 item.py文件 在这里定义想要存储的字段信息 import scrapy class JingdongItem ...

  8. Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取

    很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...

  9. 拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息

    首先前往拉勾网“爬虫”职位相关页面 确定网页的加载方式是JavaScript加载 通过谷歌浏览器开发者工具分析和寻找网页的真实请求,确定真实数据在position.Ajax开头的链接里,请求方式是PO ...

随机推荐

  1. 莫烦theano学习自修第八天【分类问题】

    1. 代码实现 from __future__ import print_function import numpy as np import theano import theano.tensor ...

  2. Yii2后台管理系统常规单据模块最佳实践

    后台管理系统的常规单据通常包括数据,页面,功能:其中数据,页面,功能又可以细分如下: 分类  二级分类  主要内容  注意事项  例如 数据 数据库迁移脚本  用于数据表生成及转态回滚 1.是否需要增 ...

  3. bootstrap簡介

    bootstarp是最受歡迎的前端開發框架,可以開發數適用pc.平板電腦和手機的web應用,是基於html.css和javascript.只要學會bootstarp,就代表具有web的開發的中級水準.

  4. scrapy 项目搭建

    安装好scrapy后,开始创建项目 项目名:zhaopin   爬虫文件名:zhao 1:cmd  --  scrapy startproject zhaopin 2:cd zhaopin,进入项目目 ...

  5. Ibatis中的<trim>标签应用

    <trim>的主要属性如下显示: <trim prefix="" prefixOverrides="" suffix="" ...

  6. 检索 COM 类工厂中 CLSID 为 {91493441-5A91-11CF-8700-00AA0060263B} 的组件失败

    Symptoms When no user is interactively logged on to the server console, if you try to start a COM+ a ...

  7. 51-node-1649齐头并进(最短路)

    题意:中文题,没啥坑点: 解题思路:这道题一开始以为要跑两个最短路,后来发现不用,因为如果给定了铁路的线路,那么,公路一定是n个节点无向图的补图,所以,铁路和公路之间一定有一个是可以直接从1到n的,我 ...

  8. UNIX口令破解机

    在编写我们的UNIX口令破解机时,我们需要使用UNIX 计算口令hash 的crypt()算法.Python 标准库中已自带有crypt 库.要计算一个加密的UNIX 口令hash,只需调用函数cry ...

  9. iptables防火墙的原理及应用

    简介 (netfilter, 位于Linux内核中的包过滤功能体系  ,称为Linux防火墙的“内核态”) iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防 ...

  10. 微信小程序——引入背景图片【六】

    前言 之前写了一些小程序的博文只是看文档边看边写,了解下他,这次可是真枪真刀的做了! 框架使用的是美团的mpvue,我也是一边学习,一边写的,如有错误之处,还望大家指出. 在这里我有个问题,为什么微信 ...