默认情况下51job只能看到最近一条记录,查看更多记录需要付费。

本文利用爬虫定时抓取记录,并追加写入到文本的方式获取完整的记录信息。

import requests
from bs4 import BeautifulSoup class www_51job_com(object):
def __init__(self):
self.url = "https://i.51job.com/userset/resume_browsed.php?lang=c" self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
} self.cookies = "替换你的cookie" def get_url(self,url):
cookies_dict = {}
for i in self.cookies.split("; "):
cookies_dict[i.split("=")[0]] = i.split("=")[1] response = requests.get(url=url,headers=self.headers,cookies=cookies_dict)
return response.content.decode('gbk') def soup(self,data):
soup_data = BeautifulSoup(data,'lxml')
company = soup_data.select("body > div.content > div.exrt > div.lmsg > div.e > div.txt > div.li.l1 > p > a")[0].get_text()
care_time = soup_data.select("body > div.content > div.exrt > div.lmsg > div.e > div.txt > div.li.l3 > div.f12 > span")[0].get_text()
return company +' '+ care_time def save_file(self,company_caretime):
with open('www_51job_com.txt','a+',encoding='utf-8') as f:
f.seek(0)
lines = f.readlines()
try:
if lines[-1] != company_caretime+'\n':
f.write(company_caretime + '\n')
except IndexError:
f.write(company_caretime+'\n') def run(self):
response = self.get_url(self.url)
result = self.soup(response)
self.save_file(result) if __name__ == '__main__':
personal_center = www_51job_com()
personal_center.run()

最新文章

  1. go语言:多个[]byte数组合并成一个[]byte
  2. Code First :使用Entity. Framework编程(5) ----转发 收藏
  3. MS SQL数据类型比较
  4. TestNG教程
  5. ncp的简单实用
  6. SSH原理与运用(二):远程操作与端口转发
  7. Event Handling on Mac
  8. strong和b
  9. Sql优化(二) 快速计算Distinct Count
  10. undrop for innodb c_parser 源码分析
  11. Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
  12. Mysql笔记之 -- 开启Mysql慢查询
  13. .NET并行与多线程学习系列一
  14. iOS 加载本地 HTML 文件 CSS 样式图片无效果
  15. 分布式版本管理工具 git常用命令
  16. github错误:fatal: remote origin already exists.
  17. [Swift]LeetCode372. 超级次方 | Super Pow
  18. IIS 发布ASP.NET MVC 4.0 错误500.21解决办法
  19. Spring源码学习资料
  20. linux软连接(转)

热门文章

  1. BZOJ 3932: [CQOI2015]任务查询系统 (主席树板题)
  2. Mysql 修改最大链接数
  3. Codeforces 1246D/1225F Tree Factory (构造)
  4. 1.2 JAVA的String类和StringBuffer类
  5. 预处理、const、static与sizeof-为什么要引入内联函数
  6. Netfilter 之 iptable_mangle
  7. HDU2795线段树入门 简单查询和修改
  8. LeetCode 146. LRU缓存机制(LRU Cache)
  9. LeetCode 131. 分割回文串(Palindrome Partitioning)
  10. 经济-AMA:百科