第四篇 - 爬取前程无忧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 ...
随机推荐
- re正则表达式-1
匹配/查找/替换/分割函数: import re re.match('aa','aabbcc') 返回对象中span为开始位置和结束位置 re.match('aa','bbaacc') #返回值为No ...
- java学习之—递归实现二分查找法
/** * 递归实现二分查找法 * Create by Administrator * 2018/6/21 0021 * 上午 11:25 **/ class OrdArray{ private lo ...
- Golang的时间生成,格式化,以及获取函数执行时间的方法
最近都在通过完成一些列功能强化自己对常用api的熟悉. 然而关于时间的api几乎是最常用的api类型,所以总结一些常用的. 以YY-mm-dd HH:MM:SS.9位 输出当前时间: func mai ...
- Unable to handle kernel paging request at virtual address
1.Unable to handle kernel paging request at virtual address 00000000 =====>越出内核地址空间范围,原因是由于使用空NUL ...
- 21.PHP实现Word/Excel/PPT转换为PDF
参考文档: https://www.cnblogs.com/woider/p/7003481.html http://blog.csdn.net/aoshilang2249/article/detai ...
- flask 下载本地文件
下载本地文件就是找到文件路径 调用flask自带的send_file(路径)下载, 并返回 flask: # 下载文件 from flask import send_file@task_mgm.ro ...
- 一、VS2017支持Github
选择 工具-->扩展和更新,搜索GitHub,安装GitHub的VS插件 安装完插件,打开视图-->团队资源管理器,我们可以看到Git插件菜单.通过菜单我们可以新建Git存储库,可以提交修 ...
- 魔术方法之__call与__callStatic方法
<?php class human{ private function t(){ } /** * 魔术方法__call * * @param string $method 获得方法名 * @pa ...
- Vue生产环境部署
前面的话 开发时,Vue 会提供很多警告来帮助解决常见的错误与陷阱.生产时,这些警告语句却没有用,反而会增加载荷量.再次,有些警告检查有小的运行时开销,生产环境模式下是可以避免的.本文将详细介绍Vue ...
- MongoDB学习目录
前面的话 为了能够使用NodeJS实现后端,MongoDB——这个NodeJS标配的数据库就不得不学.小火柴将MongoDB数据库的学习记录整理如下 基础 基础操作 数据类型 文档操作 索引 索引构建 ...