第四篇 - 爬取前程无忧python相关工作
环境:python3 pycharm
模块:requests,xlwt,urllib.request,re
正常三步走:
1.获取源代码
2.匹配源代码,获得目标数据
3.存储到文件中
直接上代码,列举两种获取源代码的方式,存储3中文件的方式。自由选择即可。
第一个标红部分引号里面的是网站url,太长就不贴上去了。查找方式:百度前程无忧官网,搜索python,点击页面2,将地址栏的地址粘贴到单引号里面。找到2.html部分,将2替换成{}即可。
第二个标红部分得到数字,是想获得数据的页数,根据需求自己填。
# import requests
import re #用于正则匹配
# import xlwt #excel表格需要用到
import urllib.request #1.用requests模块获取网页html源码
# def get_content(page):
# url = ''.format(page)
# html = requests.get(url).content.decode('gbk')
# return html #1.用urllib模块获取源代码
def get_content(page):
url = ''.format(page) ------------1
html = urllib.request.urlopen(url).read().decode('gbk')
return html #2.获取职位,薪资,公司名称
def get_Data(html):
reg = re.compile(r'class="t1 ".*?<a target="_blank" title="(.*?)".*?<span class="t2"><a target="_blank" '
r'title="(.*?)".*?<span class="t3">(.*?)</span>.*?<span class="t4">(.*?)</span>.*?'
r'<span class="t5">(.*?)</span>',re.S)
items = re.findall(reg,html)
return items #3.存储到.csv文件中
def save_file_csv(items):
import csv
csv_file = open('job.csv', 'w', newline='')
writer = csv.writer(csv_file)
writer.writerow(('职位名称','公司名称','公司地址','薪资','日期'))
for item in items:
writer.writerow(item) #3.存储到excel表格中
# def save_file_excel(items):
# newTable = 'jobs.xls'
# wb = xlwt.Workbook(encoding='utf-8')#创建excel文件
# ws = wb.add_sheet('job')#去创建表
# headData = ['职位名称','公司名称','公司地址','薪资','日期']
# index = 1
# for colnum in range(5):
# ws.write(0,colnum,headData[colnum],xlwt.easyxf('font:bold on'))
# for item in items:
# for j in range(len(item)):
# ws.write(index,j,item[j])
# index += 1
# wb.save(newTable) #3.存储到txt文件中
# def save_file_txt(items):
# with open('job.txt','w') as f:
# for item in items:
# for j in range(len(item)):
# f.write(item[j])
# f.write(' ')
# f.write('\n') if __name__ == '__main__':
for i in range(1,): ---------------2
html = get_content(i)
items = get_Data(html)
save_file_csv(items)
第四篇 - 爬取前程无忧python相关工作的更多相关文章
- 用webdriver模仿浏览器 爬取豆瓣python书单
用webdriver模仿浏览器 爬取豆瓣python书单 其中运用到os 模块 作用是生成文件夹 存储爬取的信息 etree 用于xpath解析内容 详细代码如下 可用我的上一篇博客存取到excel当 ...
- 爬取拉勾网python工程师的岗位信息并生成csv文件
转载自:https://www.cnblogs.com/sui776265233/p/11146969.html 代码写得很好,但是目前只看得懂前一部分 一.爬取和分析相关依赖包 Python版本: ...
- Python爬虫学习(二) ——————爬取前程无忧招聘信息并写入excel
作为一名Pythoner,相信大家对Python的就业前景或多或少会有一些关注.索性我们就写一个爬虫去获取一些我们需要的信息,今天我们要爬取的是前程无忧!说干就干!进入到前程无忧的官网,输入关键字&q ...
- Python爬取前程无忧网站上python的招聘信息
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 我姓刘却留不住你的心 PS:如有需要Python学习资料的小伙伴可以 ...
- 爬取前程无忧网站上python的招聘信息。
本文获取的字段有为职位名称,公司名称,公司地点,薪资,发布时间 创建爬虫项目 scrapy startproject qianchengwuyou cd qianchengwuyou scrapy g ...
- Python四线程爬取西刺代理
import requests from bs4 import BeautifulSoup import lxml import telnetlib #验证代理的可用性 import pymysql. ...
- Scrapy实战篇(四)爬取京东商城文胸信息
创建scrapy项目 scrapy startproject jingdong 填充 item.py文件 在这里定义想要存储的字段信息 import scrapy class JingdongItem ...
- Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取
很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...
- 拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息
首先前往拉勾网“爬虫”职位相关页面 确定网页的加载方式是JavaScript加载 通过谷歌浏览器开发者工具分析和寻找网页的真实请求,确定真实数据在position.Ajax开头的链接里,请求方式是PO ...
随机推荐
- linux apache tomcat 安装和升级
一,安装tomcat 注意!安装tomcat前需安装配置JDK,安装方式请参照这篇文章: http://www.cnblogs.com/blog4matto/p/5582054.html 1 tomc ...
- mysql 常用字段类型
tinyint[(m)] [unsigned] [zerofill] 1字节 极小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 - 127. 无符号: - 255 特别的: My ...
- Java多线程4:Thread中的静态方法
一.Thread类中的静态方法 Thread类中的静态方法是通过Thread.方法名来调用的,那么问题来了,这个Thread指的是哪个Thread,是所在位置对应的那个Thread嘛?通过下面的例子可 ...
- 二、Docker部署应用
一.有关Docker的安装请参考docker官网 Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并 ...
- Mvc校验用户没有登录就跳转的实现
看字面意思很简单,就是判断用户是否登录了,如果没有登录就跳转到登陆页面. 没错,主要代码如下(这里就不写判断登录了,直接跳转) 首先在控制器中新建一个BaseController public cla ...
- asp.net—WebApi跨域
一.什么是跨域? 定义:是指浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制. 同源策略限制了以下行为: 1.Cookie.LocalStora ...
- cuda编程-卷积优化
CUDA Convolution https://www.evl.uic.edu/sjames/cs525/final.html Improve Image Processing Using GPU ...
- poj-3080(kmp+暴力枚举)
题意:给你多个字符串,问你这几个字符串的最长公共子串是哪个,如果有多个,输出字典序最大的那个,如果最长的公共子串长度小于3,输出一个奇怪的东西: 解题思路:首先看数据,数据不大,开始简单快乐的暴力之路 ...
- Android 模块化/热修复/插件化 框架选用
概念汇总 动态加载:在程序运行的时候,加载一些程序自身原本不存在的文件并运行这些文件里的代码逻辑.动态加载是热修复与插件化实现的基础. 热修复:修改部分代码,不用重新发包,在用户不知情的情况下,给ap ...
- Ubuntu18.04下安装Sublime Text3!
这几天安装了Ubuntu18.04,然后在里面安装Sublime Text3,结果各种问题!各种BUG!试了网上各种办法!尼玛!都是坑爹的啊! 最后还是楼主自己解决了…… 废话不多说,直接按顺序执行下 ...