博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬取爱笔智能招聘职位
阅读量:6387 次
发布时间:2019-06-23

本文共 2814 字,大约阅读时间需要 9 分钟。

 

 

 

1 import urllib.request 2 import urllib.parse 3 import requests 4 from urllib.parse import urlencode 5 from pyquery import PyQuery as pq 6 from pymongo import MongoClient 7 import json 8  9 10 url = 'http://aibee.com/cn/joinus.aspx?action=jobinfo'11 12 headers = {13     'Host': 'aibee.com',14     'Referer': 'http://aibee.com/cn/joinus.aspx',15     'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',16     'X-Requested-With': 'XMLHttpRequest',17 } 18 19 client = MongoClient()20 db = client['aibee']21 collection = db['aibee']22 max_id = 5023 24 def get_page(id):  25 26     formData = {  27             'id': id,28         }  29      30     #将str类型转换为bytes类型  31     data = urllib.parse.urlencode(formData).encode("utf-8")   32     request = urllib.request.Request(url, data=data, headers=headers)  33     response = urllib.request.urlopen(request)34     #print(response.read().decode('utf-8'))35     result = response.read().decode('utf-8')36     #print(result)37     #print(len(result))38     #print(id)39 40     if len(result)!=12:41         42        # print(id)43         content=result.replace(",",":")44     45         id=content.split(':')[2].strip()46         #print(id)47         title=content.split(':')[4].strip()48         #print(title)49         zhize=content.split(':')[6].strip().replace("\t","").replace("
    ","").replace("
  • ","").replace("
  • ","").replace("
","").replace("\\t","")50 #print(zhize)51 yaoqiu=content.split(':')[8].strip().replace("\t","").replace("
    ","").replace("
  • ","").replace("
  • ","").replace("
","").replace("\\t","")52 #print(yaoqiu)53 dtt=content.split(':')[12].strip()[:-3]54 #print(dtt)55 emailaddr=content.split(':')[16].strip()56 #print(emailaddr)57 58 59 aibee={60 'id':id,61 'title':title,62 'zhize':zhize,63 'yaoqiu':yaoqiu,64 'dtt': dtt,65 'emailaddr': emailaddr66 }67 #print(aibee) 68 else:69 aibee=070 71 return aibee72 73 74 def write_to_file(content):75 with open('aibee.json','a',encoding='utf-8') as f:76 f.write(json.dumps(content,ensure_ascii=False)+'\n')77 f.close()78 79 80 def save_to_mongo(result):81 if collection.insert(result):82 print('Saved to Mongo') 83 84 85 if __name__ == "__main__": 86 87 for id in range(1, max_id + 1):88 #get_page(id)89 content = get_page(id)90 if content!=0:91 print(content)92 write_to_file(content)93 save_to_mongo(content)94

 

 

转载于:https://www.cnblogs.com/wanglinjie/p/9222489.html

你可能感兴趣的文章
PHP利用socket来实现POST数据
查看>>
Connection is read-only问题的产生原因与解决方法
查看>>
Proxmox VE 部署维护
查看>>
Linux软件包安装与卸载
查看>>
centos5.x安装sphinx
查看>>
我的 ARM+Linux 学习路线
查看>>
3分钟搭建Ant Design Pro前端开发环境( MyClouds的前端选型)
查看>>
Scala各种用法
查看>>
Linux系统常用命令(二)
查看>>
简单的工厂模式学习
查看>>
记录一个razor视图引擎中的小问题
查看>>
温习如何画E-R图
查看>>
eclispe注释模板
查看>>
Thymeleaf教程 (三) 创建一个多语言的首页
查看>>
OSChina 周六乱弹 ——你们猜狗的舌头有多长
查看>>
OSChina 周日乱弹 —— 爱丽丝爱吃京酱肉丝
查看>>
刷新UI耗时解决方案
查看>>
python3.6 取余运算
查看>>
2018.11月微信小程序优质开源项目
查看>>
100-27
查看>>