第四篇 - 爬取前程无忧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 ...
随机推荐
- scrapy几种反反爬策略
一.浏览器代理 1.直接处理: 1.1在setting中配置浏览器的各类代理: user_agent_list=[ "Mozilla/5.0 (Windows NT 10.0; Win64; ...
- python3 阿里云控制SLB权重
一.配置好RAM账号的权限(SLB管理权限) 二.安装依赖 pip3 install aliyun-python-sdk-slb pip3 install aliyun-python-sdk-core ...
- qtp自动化测试-条件语句 if select case
1 if 语句 if condition then end if If condition Then [statements] [ElseIf condition-n Then [else ...
- 【Python练习题】程序3
3.题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?x+100 = n*nx+100+168 = m * m 所以(m+n)*(m-n) =168 #题 ...
- JS实现控制HTML5背景音乐播放暂停
首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover.qiniudn.com/jquery.js"></script ...
- Windows Server 2012 IIS 8 - 安装SSL证书
从证书邮件里或者用户中心复制对应的SSL证书文件代码 把代码粘贴到TXT文本文件里面 然后另存为cer或是crt文件,注意编码为ANSI 中级证书和交叉证书也是按以上方法保存为crt或cer文件即可 ...
- Fourier Transform Complex Conjugate Discussion
FT of function $f(t)$ is to take integration of the product of $f(t)$ and $e^{-j\Omega t}$. By separ ...
- 自己实现memcpy,strcpy与strncpy
内存拷贝函数 //实现拷贝不重叠的内存块 void* memcpy1(void* dst,const void* src,size_t count) { char* pTo = (char*)dst; ...
- LitJson的用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- nginx配置80端口访问8080+项目名地址
tomcat访问项目,一般是 ip + 端口 + 项目名 nginx 配置 location / {} ,一般只能跳转到 ip + 端口,如果想要直接访问项目,就需要修改tomcat的配置了 如何保证 ...