废话不多说直接上代码

import time
import csv
from selenium import webdriver
import string
import zipfile
from lxml import etree# 代理服务器
proxyHost = "http-dyn.abuyun.com"
proxyPort = "9020"# 代理隧道验证信息
proxyUser = "HD2A47190U2xxxx"
proxyPass = "CB1FDB9303ABxxxx"def create_proxy_auth_extension(proxy_host, proxy_port,proxy_username, proxy_password,scheme='http', plugin_path=None):if plugin_path is None:plugin_path = '{}_{}@http-dyn.abuyun.com_9020.zip'.format(proxy_username, proxy_password)manifest_json = """{"version": "1.0.0","manifest_version": 2,"name": "Abuyun Proxy","permissions": ["proxy","tabs","unlimitedStorage","storage","<all_urls>","webRequest","webRequestBlocking"],"background": {"scripts": ["background.js"]},"minimum_chrome_version":"22.0.0"}"""background_js = string.Template("""var config = {mode: "fixed_servers",rules: {singleProxy: {scheme: "${scheme}",host: "${host}",port: parseInt(${port})},bypassList: ["foobar.com"]}};chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});function callbackFn(details) {return {authCredentials: {username: "${username}",password: "${password}"}};}chrome.webRequest.onAuthRequired.addListener(callbackFn,{urls: ["<all_urls>"]},['blocking']);""").substitute(host=proxy_host,port=proxy_port,username=proxy_username,password=proxy_password,scheme=scheme,)with zipfile.ZipFile(plugin_path, 'w') as zp:zp.writestr("manifest.json", manifest_json)zp.writestr("background.js", background_js)return plugin_pathproxy_auth_plugin_path = create_proxy_auth_extension(proxy_host=proxyHost,proxy_port=proxyPort,proxy_username=proxyUser,proxy_password=proxyPass)option = webdriver.ChromeOptions()
prefs = {'profile.managed_default_content_settings.images': 2,
'permissions.default.stylesheet': 2
}option.add_argument("--start-maximized")
option.add_extension(proxy_auth_plugin_path)
option.add_experimental_option('prefs', prefs)
path = '/Users/lin/Desktop/demo/chromedriver'
driver = webdriver.Chrome(executable_path=path,chrome_options=option)link = 'https://www.lagou.com/'driver.get(link)time.sleep(5)# 搜索传智播客
driver.find_element_by_id("search_input").send_keys("python")
# 点击搜索按钮
driver.find_element_by_id("search_button").click()time.sleep(5)pageSource = driver.page_sourceet = etree.HTML(pageSource)list_li = et.xpath('//*[@id="s_position_list"]/ul/li')list_csvs = []for i in list_li:headline = i.xpath('./div[1]/div[1]/div/a/h3/text()')[0] #标题place=i.xpath('./div[1]/div[1]/div[1]/a/span/em/text()')[0] #地方company=i.xpath('./div[1]/div[2]/div[1]/a/text()')[0] #公司pay=i.xpath('./div[1]/div[1]/div[2]/div/span/text()')[0]#薪资experience_background = i.xpath('./div[1]/div[1]/div[2]/div/text()[3]')#经验学历experience=experience_background[0].split('/')[0] #经验background=experience_background[0].split('/')[1].replace('\t','').replace(' ','').replace('\n','') #经验release = i.xpath('./div[1]/div[1]/div[1]/span/text()')[0] #发布日期list_csvs.append([headline,place,company,pay,experience,background,release])# python2可以用file替代open
with open("test.csv", "a") as csvfile:writer = csv.writer(csvfile)# 先写入columns_namewriter.writerow(["标题", "地点", "公司名称","经验",'薪资',"学历",'发布时间'])# 写入多行用writerowswriter.writerows(list_csvs)

结果:

mac python+selenium+阿布云 爬取拉钩网相关推荐

  1. mac python+selenium+阿布云

    from selenium import webdriver import string import zipfile# 代理服务器 proxyHost = "http-dyn.abuyun ...

  2. python + selenium +pyquery 爬虫 爬取 1688详情图片 阿里巴巴详情图片 与标题 下载图片并进行压缩

    python + selenium +pyquery 爬虫  爬取 1688详情图片 阿里巴巴详情图片 与标题 下载图片并进行压缩 用到的库和源码下载地址 需要用到chromedriver  包含wi ...

  3. python 爬取拉钩网数据

    python 爬取拉钩网数据 完整代码下载:https://github.com/tanjunchen/SpiderProject/blob/master/lagou/LaGouSpider.py # ...

  4. python爬取拉勾网_python爬虫—爬取拉钩网

    本人自学python,小试牛刀,爬取广州片区拉钩网招聘信息.仅用于学习 参考文章:https://blog.csdn.net/SvJr6gGCzUJ96OyUo/article/details/805 ...

  5. python爬虫—爬取拉钩网

    本人自学python,小试牛刀,爬取广州片区拉钩网招聘信息.仅用于学习 参考文章:https://blog.csdn.net/SvJr6gGCzUJ96OyUo/article/details/805 ...

  6. 基于python+selenium+Chrome自动化爬取巨潮资讯网A股财务报表

    转自同学的博客 引言: 网页爬虫分为静态网页爬虫和动态网页爬虫,前者是指索要获取的网页内容不需要经过js运算或者人工交互, 后者是指获取的内容必须要经过js运算或者人工交互.这里的js运算可能是aja ...

  7. python 异步加载图片_Python 爬取拉钩网异步加载页面

    如下是我简单的获取拉钩网异步加载页面信息的过程 获取的是深圳 Python 岗位的所有信息,并保存在Mongo中 (对于异步加载,有的人说是把你要爬页面的信息整个页面先爬下来,保存本地,然后再看有没有 ...

  8. Python selenium练习:爬取京东商品搜索结果

    Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作(具体的配置或使用可以百度).我用的谷歌浏览器,先在镜像下载谷歌浏览器版本对应的驱动版本https://npm.taobao.o ...

  9. python +selenium+phantomjs 登录爬取新浪微博动态js页面

    登录新浪微博 最近新浪微博好烦,都取消不了验证码这个难搞得东西,而且跳来跳去,一改版以前的代码就都不能用了.目前整理的资料有三种方法: 1. 设Cookie:简单粗暴,免去了模拟登录的好多麻烦,只是要 ...

最新文章

  1. 《C++ Primer》 Part V (Advanced Topics)
  2. ABAP—COLLECT的用法
  3. MyBlog前端开发
  4. 多种系统负载100%方法(高可用测试、性能压测用)
  5. 2018年AI如何发展?普华永道做出了8点预测 | 报告下载
  6. 工作了一个星期各位一定累了吧,那我们一起来表单验证一番吧!
  7. Windows Server 2008/2008 R2 各版本内存支持概要
  8. java基础 泛型类的定义
  9. 25 The Go image/draw package go图片/描绘包:图片/描绘包的基本原理
  10. python语言程序设计教程赵璐电子版_python语言程序设计教程 赵璐pdf 相关实例(示例源码)下载 - 好例子网...
  11. Android WebView播放视频flash(判断是否安装flash插件)
  12. 获取mp3部分信息的python代码
  13. 芯片短缺局势依然严峻,供应链上下该如何破局?
  14. Visual Paradigm 在 Linux 和 Unix 系统电脑上安装教程
  15. chrome浏览器被360流氓捆绑,如何解决?
  16. 01 Roll A Ball 小游戏(环境搭建)
  17. android团购客户端,领团网团购导航Android手机客户端获机锋网力推
  18. Web3时代加密元宇宙才是唯一可行的道路
  19. Linux: strace总结
  20. 带编制的博士坑位(拒绝非升即走)

热门文章

  1. bs4获取html文档,使用bs4提取html文件中的文本
  2. C语言之EOF、feof函数、ferror函数
  3. Android系统构建
  4. mysql查询日志分析_mysql日志分析
  5. 华为交换机重置密码案例
  6. vs2013 javascript语言服务遇到错误且已关闭解决方案
  7. JavaScript-1:JavaScript简介
  8. 用计算机做科学试验,用计算机做科学实验之引导层动画(2页)-原创力文档
  9. vue中使用antv/g6 绘制关系图、结构图_高级图标绘制设计软件最新版 | MyDraw 4.1.2...
  10. ekf matlab实例,EKF,UKF的matlab实现