python爬取51job中hr的邮箱


Posted in Python onMay 14, 2016

本文实例为大家分享了python爬取51job中hr的邮箱具体代码,供大家参考,具体内容如下

#encoding=utf8
import urllib2
import cookielib
import re
import lxml.html
from _ast import TryExcept
from warnings import catch_warnings

f = open('/root/Desktop/51-01.txt','a+')

def read(city):
  url = 'http://www.51job.com/'+city
  cj = cookielib.MozillaCookieJar() 
  cookie_support = urllib2.HTTPCookieProcessor(cj) 
  opener = urllib2.build_opener(cookie_support) 
  opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')]
  urllib2.install_opener(opener)
  response = urllib2.urlopen(url)
  http = response.read()
  rex = 'http://jobs.51job.com/hot/.*?html'
  value = re.findall(rex, http)
  for i in value:
    print i
    try:
      readpage(i)
    except:
      pass
    
def readpage(url):
  cj = cookielib.MozillaCookieJar() 
  cookie_support = urllib2.HTTPCookieProcessor(cj) 
  opener = urllib2.build_opener(cookie_support) 
  opener.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')]
  urllib2.install_opener(opener)
  html = urllib2.urlopen(url,timeout = 2).read()
  doc = lxml.html.fromstring(html)
  rex = r'[\w\.-]+@(?:[A-Za-z0-9]+\.)+[A-Za-z]+'
  results = doc.xpath('//div[@class="tmsg inbox"]/div[@class="con_msg"]/div[@class="in"]/p/text()')
  for i in results:
    xx = re.compile(rex)
    for j in xx.findall(i):
      print j
      f.write(j+'\n')
      f.flush()
  

if __name__ == '__main__':
  city_list = ['zhangjiagang','zhanjiang','zhaoqing','zibo']
  for i in city_list:
    f.write(i+'\n')
    f.flush()
    try:
      read(i)
    except:
      pass
  f.flush()
  f.close()

city_list大家自己整理一下,只能帮你们到这里了,谢谢大家的阅读,继续关注三水点靠木更多精彩内容。

Python 相关文章推荐
Python数据结构之Array用法实例
Oct 09 Python
python调用百度REST API实现语音识别
Aug 30 Python
python3安装speech语音模块的方法
Dec 24 Python
Python判断telnet通不通的实例
Jan 26 Python
选择python进行数据分析的理由和优势
Jun 25 Python
Python实现语音识别和语音合成功能
Sep 20 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python中Yield的基本用法
Oct 18 Python
Python join()函数原理及使用方法
Nov 14 Python
Python数据清洗工具之Numpy的基本操作
Apr 22 Python
详解Flask开发技巧之异常处理
Jun 15 Python
python中mongodb包操作数据库
Apr 19 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 #Python
python基于phantomjs实现导入图片
May 13 #Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 #Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 #Python
Python下载指定页面上图片的方法
May 12 #Python
Python基于二分查找实现求整数平方根的方法
May 12 #Python
python二分查找算法的递归实现方法
May 12 #Python
You might like
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
Prototype String对象 学习
2009/07/19 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
详解Python装饰器由浅入深
2016/12/09 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python之消除前缀重命名的方法
2018/10/21 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
护理不良事件检讨书
2014/02/06 职场文书
医药营销个人求职信
2014/04/12 职场文书
拉拉队口号
2014/06/16 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
zabbix监控mysql的实例方法
2021/06/02 MySQL