"电子工业出版社"出版的书籍

C语言非常道

C语言的图书多如牛毛,但绝大多数都很单纯,无外乎语法、技巧或者实例。C语言的教与学,远不止语法和示例这么简单。语言是应用的工具,只能深入到历史和实际应用的土壤里,从现实中寻找这门计算机语言的定位,学习它的语法,认识它所能解决的现实问题。所以,这本书面向C语言的初学者,结合*新的C语言标准9899:2011,不但介绍了和C语言本身有关的各个方面:词法元素、类型、声明、函数、表达式、语句、预处理、标准库,更是以此为主线,融汇了大量的现实和应用场景,从计算机原理、程序设计、编译原理、操作系统接口、数据结构,等等。为了帮助读者更好地理解C语言、操作系统接口以及用C语言解决实际问题这三者之间的关系,本书还特意提供了一个关系型数据库的实例和一个WEB服务器编程的实例。本书的目标:a.基础。本书面向初学者,介绍C语言的基础知识,但有深度和高度;b.全面。依据C语言的*新标准,尽量涵盖它的所有内容;c.标准化。摒弃某些传统的概念、术语和不正确、不精确的阐述;d.新颖。正本清源,采用与传统图书不同的形式来讲解。比如,先介绍#include <stdio.h>是什么东西,怎么来的,有什么用,而不是象别的书一样,一上来就使用,而且对它的功能语焉不详。不单单是讲述C的语法,更深入到与之相关的各个方面,比如操作系统环境、编译器、数据库和WEB应用,通过各种互相结合的场景,让读者真正认识这门语言,真正掌握这门语言,不致于学了之后还是感到茫然。e.通俗易懂。不是指语言上的通俗化和口语化,而是真正地按照认知的规律和过程,由浅入深,由表及里,不但知其然,还要知其所以然。

算法之美

《算法之美——隐匿在数据结构背后的原理(C++版)》围绕算法与数据结构这个话题,循序渐进、深入浅出地介绍了现代计算机技术中常用的40 余个经典算法,以及回溯法、分治法、贪婪法和动态规划等算法设计思想。在此过程中,《算法之美——隐匿在数据结构背后的原理(C++版)》也系统地讲解了链表(包括单向链表、单向循环链表和双向循环链表)、栈、队列(包括普通队列和优先级队列)、树(包括二叉树、哈夫曼树、堆、红黑树、AVL 树和字典树)、图、集合(包括不相交集)与字典等常用数据结构。同时,通过对22 个经典问题(包括约瑟夫环问题、汉诺塔问题、八皇后问题和骑士周游问题等)的讲解,逐步揭开隐匿在数据结构背后的算法原理,力图帮助读者夯实知识储备,激活思维技巧,并最终冲破阻碍编程能力提升的重重藩篱。

《算法之美——隐匿在数据结构背后的原理(C++版)》适合作为大专院校相关专业学生研习算法与数据结构知识的课外参考书。对有意参加信息学竞赛的读者,本书亦有很强的参考价值。此外,鉴于算法与数据结构在求职过程中常常被视为考察重点,所以就临近毕业的学生或其他欲从事IT 行业的求职者而言,阅读《算法之美——隐匿在数据结构背后的原理(C++版)》也将对面试备考大有裨益。

Python 3爬虫、数据清洗与可视化实战

《Python 3爬虫、数据清洗与可视化实战》是一本通过实战教初学者学习采集数据、清洗和组织数据进行分析及可视化的Python 读物。《Python 3爬虫、数据清洗与可视化实战》案例均经过实战检验,笔者在实践过程中深感采集数据、清洗和组织数据的重要性,作为一名数据行业的“码农”,数据就是沃土,没有数据,我们将无田可耕。

《Python 3爬虫、数据清洗与可视化实战》共分11 章,6 个核心主题:其一是Python 基础入门,包括环境配置、基本操作、数据类型、语句和函数;其二是Python 爬虫的构建,包括网页结构解析、爬虫流程设计、代码优化、效率优化、容错处理、反防爬虫、表单交互和模拟页面点击;其三是Python 数据库应用,包括MongoDB、MySQL 在Python中的连接与应用;其四是数据清洗和组织,包括NumPy 数组知识、pandas 数据的读写、分组变形、缺失值异常值处理、时序数据处理和正则表达式的使用;其五是综合应用案例,帮助读者贯穿爬虫、数据清洗与组织的过程;最后是数据可视化,包括Matplotlib 和Pyecharts 两个库的使用,涉及饼图、柱形图、线图、

词云图、地图等图形,帮助读者进入可视化的殿堂。

《Python 3爬虫、数据清洗与可视化实战》以实战为主,适合Python 初学者及高等院校的相关专业学生,也适合Python 培训机构作为实验教材使用。

网络数据采集技术:Java网络爬虫实战

编辑推荐

《网络数据采集技术:Java网络爬虫实战》是国内上很少见的讲解Java语言(而不是Python语言)网络爬虫的书籍。与Python语言相比,使用Java语言进行网络数据采集,具有采集效率更高、框架性能更好、敏捷易用等优点,而且针对大型搜索引擎系统的数据采集工作更多使用Java语言,故本书值得读者学习。编程语言的初学者也可通过本书进一步掌握Java语言的高级编程技能。

内容提要

《网络数据采集技术:Java网络爬虫实战》以Java为开发语言,系统地介绍了网络爬虫的理论知识和基础工具,包括网络爬虫涉及的Java基础知识、HTTP协议基础与网络抓包、网页内容获取、网页内容解析和网络爬虫数据存储等。本书选取典型网站,采用案例讲解的方式介绍网络爬虫中涉及的问题,以增强读者的动手实践能力。同时,本书还介绍了3种Java网络爬虫开源框架,即Crawler4j、WebCollector和WebMagic。

《网络数据采集技术:Java网络爬虫实战》适用于Java网络爬虫开发的初学者和进阶者;也可作为网络爬虫课程教学的参考书,供高等院校文本挖掘、自然语言处理、大数据商务分析等相关学科的本科生和研究生参考使用;也可供企业网络爬虫开发人员参考使用。

媒体评论

海量数据的出现催生了一种新的科研模式,即从数据中直接查找或挖掘所需要的信息。网络数据采集是商务、金融、公共管理等领域进行大数据分析的基础。本书系统梳理了网络数据采集的理论和基础知识,通过实际案例描述了网络数据采集技术的实现流程。基于本书的学习,读者可轻松开发一些数据采集项目,获取所需要的网络数据。

清华大学教授、博士生导师 陈国青

数据采集是数据处理的首要环节,也是发掘和利用数据价值的基石。网络数据作为数据的重要来源,其采集手段多为网络爬虫。本书依托作者团队所承担的国家自然科学基金重大项目在数据采集方面的研究成果,系统地介绍了其相关技术(均得到实践验证),能够很好地帮助数据采集技术的初学者和进阶者。

中国科学院计算技术研究所研究员、博士生导师 程学旗

数据作为一种重要资源,对创新社会治理、经济转型升级、科技创新能力提升的作用显著。采集数据是实现数据价值的基础性工程,受到社会各界的高度重视。本书提供了多个网络数据采集项目的详细代码,并附有注释,便于读者理解与进行实际项目的开发。

上海数据交易中心项目总监 卓训方

对于大学生,以及从事数据挖掘、数据商务分析等相关研究的硕士生和博士生而言,网络数据采集已是一项必备技能。本书详细介绍了Java网络爬虫技术所涉及的一系列工具,同时也介绍了一些流行的网络爬虫开发框架,非常适合莘莘学子参考使用。

合肥工业大学教授博士、生导师 刘业政

前言

近几年,网络空间大数据(Big Data)已成为各领域研究的热门话题。在企业应用方面,天猫利用海量的用户数据挖掘年轻消费者偏好,并将用户偏好反馈给手机研发部门,将其用于手机设计;汽车之家利用平台中用户生成的大数据对用户进行画像,在此基础上开展个性化营销。在学术界,很多领域的学者针对大数据衍生出的新问题开展学术研究,如大数据驱动的客户洞察、大数据驱动的个性化推荐、大数据驱动的管理决策等。

在网络大数据环境下,数据采集尤为重要。因此,很多企业都提供了(高级)数据采集工程师的职位。对于很多在校大学生而言,尤其是硕士生和博士生,网络数据采集是一项必备的技能。

在编写本书之前,笔者主要从事数据采集系统的设计与开发工作。在CSDN 社区上,笔者撰写过一系列介绍Java 网络爬虫的博客,这些博客为笔者的主页带来了不少访问量;同时,也有许多博客读者通过邮件的方式,向笔者咨询网络爬虫相关的工具使用、程序调试等问题。为此,笔者对Java 网络爬虫所涉及的知识与技术进行了系统的梳理,并打算编写一本关于Java 网络爬虫的书籍。在写作过程中,笔者与具有丰富网络爬虫教学经验的姜元春教授就写作逻辑、介绍的知识点、使用的案例等多方面的内容进行了多次讨论。本书的内容更加注重爬虫理论、开发基础与实战演练。基于对本书爬虫案例的研读,读者可以快速开发自己需要的其他网络爬虫程序。

本书的内容

本书分为9 章,具体内容如下所示。

第1 章至第3 章:这3 章重点介绍与网络爬虫开发相关的基础知识,其中包括网络爬虫的原理、Java 基础知识和HTTP 协议等内容。

第4 章至第6 章:这3 章分别从网页内容获取、网页内容解析和网络爬虫数据存储3 个方面介绍网络爬虫开发过程中所涉及的一系列技术。在这3 章中,涉及很多开源工具的使用,如Jsoup、HttpClient、HtmlCleaner、Fastjson、POI3 等。

第 7 章:本章利用具体的实战案例,讲解网络爬虫开发的流程。通过对本章的学习,读者可以轻松开发Java 网络爬虫。

第8 章:针对一些复杂的页面,如动态加载的页面(执行JavaScript 脚本),本章介绍了一款实用的工具——Selenium WebDriver。

第9 章:本章重点介绍了3 种比较流行的Java 网络爬虫开源框架,即Crawler4j、WebCollector 和WebMagic。读者可根据数据采集需求,自行开发支持多线程采集、断点采集、代理切换等功能的网络爬虫项目。

本书的特色

注重基础:俗话说,基础不牢,地动山摇。本书从可读性和实用性出发,重点介绍了网络爬虫中涉及的基础知识。

系统性:本书系统地梳理了网络爬虫的逻辑和开发网络爬虫需要掌握的技术。对网络爬虫初学者和进阶者而言,学习这些内容将有利于解决数据采集过程中遇到的各种问题。

详细的案例讲解:本书选取了较为典型的网站,讲解网络爬虫经常遇到的问题,如HTTPS 请求认证问题、大文件内容获取问题、模拟登录问题、不同格式文件(文本、图片和PDF 等)的存储问题、定时数据采集问题等。

开源框架: 本书介绍了3 种Java 网络爬虫开源框架,即Crawler4j、WebCollector和WebMagic。通过对这3 种网络爬虫开源框架的学习,读者可以轻松开发一些高性能的网络爬虫项目。

完整的代码:为便于读者学习,对于每个数据网络爬虫项目,笔者都提供了完整的代码,并且在代码中给出了清晰的注释。

适合的读者

Java 网络爬虫开发的初学者和进阶者。

科研人员,尤其是从事网络大数据驱动研究的硕士生和博士生。

开设相关课程的高等院校的师生。

企业网络爬虫开发人员。

说明

网络爬虫作为一项技术,更应该服务于社会。在使用该技术的过程中,应遵守Robots 协议(互联网行业数据抓取的道德协议)。同时,需要注意对数据所涉及的知识产权和隐私信息进行保护。另外,采集数据时,需要注意礼貌,即不频繁地请求网页,以防止给数据提供者的服务器造成不良影响。在使用所采集的数据时,需要注意是否涉及商业利益和相关法律。最后,本书中所有使用的案例皆为测试案例,仅供读者学习使用,本书中的URL 均做了处理。

基金项目

本书由国家自然科学基金重大项目课题“面向大数据的商务分析与计算方法以及支撑平台研究(71490725)”、国家自然科学基金重大研究计划子课题“面向商务领域的大数据资源池及集成示范平台(91746302)”、国家自然科学基金优秀青年基金“个性化营销理论与方法(71722010)”提供资助。

勘误

由于笔者的水平有限,书中难免出现一些错误及不准确之处,恳请读者批评指正。为及时更正书中不恰当的内容,笔者在CSDN 博客中创建了一个板块,读者可以将书中的问题以评论的方式进行反馈,笔者将针对这些问题进行勘误。另外,也欢迎读者通过发送电子邮件(qy20115549@126.com)的方式,反馈书稿的问题。

致谢

感谢电子工业出版社的林瑞和编辑、合肥工业大学电子商务研究所的刘业政教授和孙见山副教授等给本书提出的宝贵建议。

感谢华为的杜非、王佳佳和王锦坤师兄的帮助,是他们将我带入编程的世界。

感谢淮南师范学院的孙娜丽女士对整本书稿写作语言的梳理。

感谢合肥工业大学电子商务研究所的朱婷婷、杨露、田志强、宋颖欣、张雪、李哲、贺菲菲、叶畅、陶守正、梁瑞诚等博士参与本书内容的讨论。

最后,希望热爱网络爬虫开发的小伙伴们能够喜欢本书。

钱 洋

2019 年9 月

30天通过全国计算机等级考试

《30天通过全国计算机等级考试:三级网络技术》由希赛教育等考学院组织编写,内容紧扣教育部考试中心新推出的考试大纲,通过对历年试题进行科学分析、研究、总结、提炼、编撰而成。《30天通过全国计算机等级考试:三级网络技术》主要内容包括应试指南、考点分析与同步训练、5套笔试全真模拟试卷及解析、机试指导、5套机试全真模拟试题及解析、2009年上半年、2009年下半年、2010年上半年、2010年下半年的真题解析。

基于历年试题,利用统计分析的方法,科学做出结论并预测以后的出题动向,是《30天通过全国计算机等级考试:三级网络技术》的一大特色。《30天通过全国计算机等级考试:三级网络技术》可以保证既不漏掉考试必需的知识点,又不加重考生备考负担,使考生轻松、愉快地掌握知识点并领悟三级网络技术考试的真谛。真可谓是“一书在手,过关无忧”。

机试方面,经过深入分析上机考试题库内容,《30天通过全国计算机等级考试:三级网络技术》精心组织了5套全真模拟试题,试题涉及历次考试内容的各个方面。

《30天通过全国计算机等级考试:三级网络技术》可以作为参加全国计算机等级考试——二级Visual FoxPro数据库程序设计考试的复习用书,也可作为学习数据库程序设计的参考书。

数据通信网络技术

本书较全面地讲解了数据通信中交换机、路由器等网络设备的相关知识与技能,以思科网络设备为例,对网络设备的使用、配置和调试,以及如何进行网络规划、组建都做了详细讲解。全书共十三个项目,项目一介绍计算机网络、拓扑结构,认识常用的传输介质,以及如何规划企业网络;项目二介绍ISO与TCP/IP网络体系结构,讲解IP地址、子网划分与计算;项目三介绍Packet Tracer 软件的使用;项目四介绍交换机的组成、分类、结构、端口及基本配置;项目五介绍VLAN技术与端口聚合技术;项目六介绍路由器的组成、分类、结构、各种端口及基本配置;项目七介绍路由器的各种路由配置及路由重发布;项目八介绍三层交换机实现路由功能,以及静态路由、动态路由配置的方法;项目九介绍标准、扩展访问控制列表,以及基于时间的访问控制列表;项目十介绍PPP的封装、PAP认证和CHAP认证;项目十一介绍动态主机配置协议;项目十二介绍静态NAT、动态NAT和动态NAPT;项目十三为企业网组建案例,是对前十二个项目知识与技能的总结、梳理与综合应用。本书内容翔实,贴近实际,通俗易懂,突出了以岗位技能、职业素养为中心的特点。本书主要作为通信技术、计算机网络、计算机科学与技术、物联网等专业中职学生的教材,也可以作为相关专业工程技术人员的参考书及培训教材。

Github | Docker | Library | Project