介绍Spark在Win 10系统中的的安装、配置以及在分布式爬虫中的使用,Python版本为3.6.8。
Spark安装、配置和使用请参考《Python程序设计开发宝典》“第12章 多任务与并行处理:线程、进程、协程、分布式、GPU加速”(董付国著,清华大学出版社,2017.10),京东:https://item.jd.com/12143483.html
网络爬虫入门请参考《Python可以这样学》“第9章 网络应用开发”(董付国著,清华大学出版社,2017.2),京东缺货,请选择亚马逊、当当、天猫搜索“董付国”;《Python程序设计基础与应用》“第13章 网络爬虫入门与应用”(董付国著,机械工业出版社,2018.9),京东:https://item.jd.com/12433472.html
================
1、下载安装jdk,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、添加环境变量JAVA_HOME,配置为jdk的安装路径。
3、下载Spark,解压缩到G:\spark-2.2.3-bin-hadoop2.7。
地址:http://mirrors.shu.edu.cn/apache/spark/spark-2.2.3/spark-2.2.3-bin-hadoop2.7.tgz,注意版本,并不是越新越好,很容易因为版本不兼容影响运行。
4、配置环境变量HADOOP_HOME和SPARK_HOME为Spark的解压缩目录G:\spark-2.2.3-bin-hadoop2.7。
5、修改环境变量PATH,把Python 3.6的安装目录放到前面,添加jdk安装路径。
6、下载winutils.exe并放到Spark解压缩目录的bin中,下载地址:http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
7、编写爬虫程序sparkCrawlYuanshi.py并保存到Spark安装目录的bin目录中,以爬取工程院院士信息为例,略去对网页结构的分析,感兴趣的朋友可自行完成这个步骤。
8、进入Power Shell,执行命令./spark-submit.cmd sparkCrawlYuanshi.py运行爬虫程序。
温馨提示
进入公众号,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的文章列表,通过“最新资源”==>“微课专区”可以观看Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。
--------董付国老师Python系列图书--------
1)《Python程序设计(第2版)》清华大学出版社
2)《Python可以这样学》清华大学出版社
3)《Python程序设计基础(第2版)》清华大学出版社
4)《中学生可以这样学Python》清华大学出版社,配套微课:《中学生可以这样学Python》84节微课免费观看地址
5)《Python程序设计开发宝典》清华大学出版社
6)《玩转Python轻松过二级》清华大学出版社
7)《Python程序设计基础与应用》机械工业出版社
8)《Python程序设计实验指导书》清华大学出版社(预计2019年1月出版)
9)《Python编程基础与案例集锦(中学版)》电子工业出版社(预计2019年2月出版)
《中学生可以这样学Python》84节微课免费观看地址
非计算机专业《Python程序设计基础》教学参考大纲
计算机相关专业“Python程序设计”教学大纲(参考)
《Python程序设计》实验指导书(30个实验)
《Python程序设计基础与应用》课后习题答案
Python课程期末考试编程题自动批卷原理与实现模板
“Python小屋”免费资源汇总(截至2018年11月28日)
系列教学PPT:
1900页Python系列PPT分享一:基础知识(106页)
1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)
1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
1900页Python系列PPT分享四:字符串与正则表达式(109页)
1900页Python系列PPT分享五:函数设计与应用(134页)
1900页Python系列PPT分享六:面向对象程序设计(86页)
1900页Python系列PPT分享七:文件操作(132页)
1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)
报告PPT(163页):基于Python语言的课程群建设探讨与实践
报告PPT(123页):Python编程基础精要
2000页Python系列PPT分享九:(GUI编程)(122页)
Python实验项目1例:使用进程池统计指定范围内素数的个数
(PPT)Python程序设计课程教学内容组织与教学方法实践
爬虫系列文章:
JavaScript获取本机浏览器UA助力Python爬取糗事百科首页
Python批量爬取名字中带有中文的pdf文件
Python爬取网页中表格数据并导出为Excel文件
Python使用标准库urllib模拟浏览器爬取网页内容
Python爬虫基础:常用HTML标签和Javascript入门
Python+selenium+PhantomJS获取百度搜索结果真实链接地址
Python 3.6模拟输入并爬取百度前10页密切相关链接
手把手教你使用Python+scrapy爬取山东各城市天气预报
Python爬虫系列:使用selenium+Edge查询指定城市天气情况
Python爬虫系列:判断目标网页编码的几种方法
BeautifulSoup解析库select方法实例——获取企业信息
Python批量爬取微信公众号文章中的图片
Python裸奔也疯狂:批量爬取中国工程院院士信息
Python爬虫扩展库scrapy选择器用法入门(一)
Python使用Scrapy爬虫框架爬取天涯社区小说“大宗师”全文
Python不使用scrapy框架而编写的网页爬虫程序
Python爬虫扩展库BeautifulSoup4用法精要
多线程、多进程与并行、并发执行、GPU加速:
Python使用多进程提高网络爬虫的爬取速度
使用Python编写属于自己的录音软件
Python多线程与Socket编程综合案例:素数
Python使用多线程搜索指定范围内的所有素数
Python使用两个Event对象同步生产者消费者问题
Python多线程编程基础3:创建线程与调用函数的区别
Python多线程编程基础2:如何创建线程
Python多线程编程基础1:为什么要使用线程
Python使用标准库subprocess调用外部程序
Python使用BoundedSemaphore对象进行线程同步
Python使用Queue对象实现多线程同步小案例
Python使用Condition对象实现多线程同步
Python多线程编程中daemon属性的作用
Python使用pyopencl在GPU上并行处理批量判断素数
Python使用pycuda在GPU上并行处理批量判断素数
Python利用Spark并行处理框架批量判断素数
Python使用Manager对象实现不同机器上的进程跨网络传输数据
Python多线程编程中使用Barrier对象进行同步
Python使用多进程批量判断素数
Python并行判断多个大整数是否为素数