首页 文章 精选 留言 我的

精选列表

搜索[自适应爬虫],共4643篇文章
优秀的个人博客,低调大师

Python爬虫抓取智联招聘(基础版)

运行平台:WindowsPython版本:Python3.6IDE:Sublime Text其他工具:Chrome浏览器 1、网页分析 1.1 分析请求地址 以北京海淀区的python工程师为例进行网页分析。打开智联招聘首页,选择北京地区,在搜索框输入"python工程师",点击"搜工作": 想学习可以加Python学习q-u-n-227-435-450 即可获取,内附:开发工具和安装包,以及系统学习路线图,接下来跳转到搜索结果页面,按"F12"打开开发者工具,然后在"热门地区"栏选择"海淀",我们看一下地址栏: 由地址栏后半部分searchresult.ashx?jl=北京&kw=python工程师&sm=0&isfilter=1&p=1&re=2005可以看出,我们要自己构造地址了。接下来要对开发者工具进行分析,按照如图所示步骤找到我们需要的数据:Request Headers和Query String Parameters: 构造请求地址: paras = {'jl': '北京', # 搜索城市'kw': 'python工程师', # 搜索关键词 'isadv': 0, # 是否打开更详细搜索选项'isfilter': 1, # 是否对结果过滤'p': 1, # 页数're': 2005# region的缩写,地区,2005代表海淀}url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?' + urlencode(paras) 请求头: headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36','Host': 'sou.zhaopin.com','Referer': 'https://www.zhaopin.com/','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9'} 1.2 分析有用数据 接下来我们要分析有用数据,从搜索结果中我们需要的数据有:职位名称、公司名称、公司详情页地址、职位月薪: 通过网页元素定位找到这几项在HTML文件中的位置,如下图所示: 用正则表达式对这四项内容进行提取: # 正则表达式进行解析pattern = re.compile('(.*?).*?' # 匹配职位信息 '(.*?).*?' # 匹配公司网址和公司名称 '(.*?)', re.S) # 匹配月薪 # 匹配所有符合条件的内容items = re.findall(pattern, html) 注意:解析出来的部分职位名称带有标签,如下图所示: 那么在解析之后要对该数据进行处理剔除标签,用如下代码实现: for item in items: job_name = item[0] job_name = job_name.replace('', '') job_name = job_name.replace('', '')yield {'job': job_name,'website': item[1],'company': item[2],'salary': item[3] } 2、写入文件 我们获取到的数据每个职位的信息项都相同,可以写到数据库中,但是本文选择了csv文件,以下为百度百科解释: 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。 由于python内置了csv文件操作的库函数,所以很方便: import csvdefwrite_csv_headers(path, headers):''' 写入表头 '''with open(path, 'a', encoding='gb18030', newline='') as f: f_csv = csv.DictWriter(f, headers) f_csv.writeheader()defwrite_csv_rows(path, headers, rows):''' 写入行 '''with open(path, 'a', encoding='gb18030', newline='') as f: f_csv = csv.DictWriter(f, headers) f_csv.writerows(rows) 3、进度显示 要想找到理想工作,一定要对更多的职位进行筛选,那么我们抓取的数据量一定很大,几十页、几百页甚至几千页,那么我们要掌握抓取进度心里才能更加踏实啊,所以要加入进度条显示功能。 本文选择tqdm 进行进度显示,来看一下酷炫结果(图片来源网络): 执行以下命令进行安装:pip install tqdm。 简单示例: from tqdm import tqdmfrom time import sleepfor i in tqdm(range(1000)): sleep(0.01) 4、完整代码 以上是所有功能的分析,如下为完整代码: #-*- coding: utf-8 -*-import reimport csvimport requestsfrom tqdm import tqdmfrom urllib.parse import urlencodefrom requests.exceptions import RequestExceptiondefget_one_page(city, keyword, region, page):''' 获取网页html内容并返回 ''' paras = {'jl': city, # 搜索城市'kw': keyword, # 搜索关键词 'isadv': 0, # 是否打开更详细搜索选项'isfilter': 1, # 是否对结果过滤'p': page, # 页数're': region # region的缩写,地区,2005代表海淀 } headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36','Host': 'sou.zhaopin.com','Referer': 'https://www.zhaopin.com/','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9' } url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?' + urlencode(paras)try:# 获取网页内容,返回html数据 response = requests.get(url, headers=headers)# 通过状态码判断是否获取成功if response.status_code == 200:return response.textreturnNoneexcept RequestException as e:returnNonedefparse_one_page(html):''' 解析HTML代码,提取有用信息并返回 '''# 正则表达式进行解析 pattern = re.compile('(.*?).*?'# 匹配职位信息' ', re.S) # 匹配月薪 # 匹配所有符合条件的内容 items = re.findall(pattern, html) for item in items: job_name = item[0] job_name = job_name.replace('', '') job_name = job_name.replace('', '')yield {'job': job_name,'website': item[1],'company': item[2],'salary': item[3] }defwrite_csv_file(path, headers, rows):''' 将表头和行写入csv文件 '''# 加入encoding防止中文写入报错# newline参数防止每写入一行都多一个空行with open(path, 'a', encoding='gb18030', newline='') as f: f_csv = csv.DictWriter(f, headers) f_csv.writeheader() f_csv.writerows(rows)defwrite_csv_headers(path, headers):''' 写入表头 '''with open(path, 'a', encoding='gb18030', newline='') as f: f_csv = csv.DictWriter(f, headers) f_csv.writeheader()defwrite_csv_rows(path, headers, rows):''' 写入行 '''with open(path, 'a', encoding='gb18030', newline='') as f: f_csv = csv.DictWriter(f, headers) f_csv.writerows(rows)defmain(city, keyword, region, pages):''' 主函数 ''' filename = 'zl_' + city + '_' + keyword + '.csv' headers = ['job', 'website', 'company', 'salary'] write_csv_headers(filename, headers)for i in tqdm(range(pages)):''' 获取该页中所有职位信息,写入csv文件 ''' jobs = [] html = get_one_page(city, keyword, region, i) items = parse_one_page(html)for item in items: jobs.append(item) write_csv_rows(filename, headers, jobs)if __name__ == '__main__': main('北京', 'python工程师', 2005, 10) (.*?).*?'# 匹配公司网址和公司名称'(.*?) 上面代码执行效果如图所示: 执行完成后会在py同级文件夹下会生成名为:zl_北京_python工程师.csv的文件,打开之后效果如下:

优秀的个人博客,低调大师

如何使用爬虫分析Python岗位招聘情况

Life is short, you need Python。Python 是一门很优雅的语言,用着挺舒服的。所以就在想,现在的 Python 开发的岗位招聘,公司们需要什么样的人才?要有什么样的技能?以及对应的市场如何? 所以,我又有了一个大胆的想法。爬取了前程无忧上 Python 关键字的招聘岗位,地区锁定在中国四个一线城市,北上深广。选取 top650 条招聘岗位带 Python 关键字的招聘信息进行数据分析。 岗位分布 650 条招聘信息中,各城市岗位数量分布如下图。 上海 228 是最多的,北京 202 排在第二,两者都超过了 200,深圳和广州就和上海北京差得有点多了,分别只有 115 和 91,另外还有 14 个是异地招聘的。当然数据只是针对这前 650 条数据而言!不过总体上也差不多,后面的招聘信息都只是在岗位要求里提到

优秀的个人博客,低调大师

Java爬虫_资源网站爬取实战

对 http://bestcbooks.com/ 这个网站的书籍进行爬取 (爬取资源分享在结尾) 下面是通过一个URL获得其对应网页源码的方法 传入一个 url 返回其源码 (获得源码后,对源码进行解析,获得页面中其他的书籍地址和当前页面的书籍的百度网盘的链接,因为这个网站分享的书籍都是用网盘分享的)。 其实这里要讲的方法是按页面逐个去寻找书籍,还有一种比较暴力的是根据宽度优先遍历,找到所有的链接,不管是不是书籍的,然后再进行筛选。 宽度优先遍历可以看之前的一篇 http://www.cnblogs.com/LexMoon/p/javaMyClawler.html 1 public static String getBookUrlCode(String url) throws IOException { 2 URL u ; 3 HttpURLConnection httpURLConnection ; 4 String ret = "" ; 5 try{ 6 u = new URL(url); 7 httpURLConnection = (HttpURLConnection)u.openConnection() ; 8 if(httpURLConnection.getResponseCode()==200){ 9 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),"utf-8")) ; 10 11 String read ; 12 while((read=bufferedReader.readLine())!=null){ 13 ret += read ; 14 ret+="\r\n" ; 15 } 16 } 17 }catch (Exception e){ 18 19 } 20 return ret ; 21 } 爬取的网站是这个书籍网站的主页 http://bestcbooks.com/ 运行结果: 获取主页的源码之后,通过解析获得书籍分类的地址,用一个ArrayList<String>保存 。 解析方法 : 正则表达式,jsoup 1 public static ArrayList getBookClass(String read){ 2 ArrayList<String> arrayList = new ArrayList<String>() ; 3 String data = new String( "<a href=\"http:(.*)html>") ; 4 Document doc = Jsoup.parse(read); 5 Elements elements = doc.select("a"); 6 for(Element element : elements){ 7 String aurl = element.attr("href") ; 8 if(!arrayList.contains(aurl)){ 9 arrayList.add(aurl); 10 } 11 } 12 return arrayList ; 13 } 运行结果: 1 public static void main(String[] args) throws Exception { 2 ArrayList<String> arrayList= getBookClass(getBookUrlCode("http://bestcbooks.com/")); 3 for(int i=0;i<arrayList.size();i++){ 4 System.out.println(arrayList.get(i)); 5 } 6 } 需要的书籍分类的链接可以看到是 bestcbooks.com 加 /categories/(书籍种类)/ 所以在获取的ArrayList<String>中需要的只是 /categories/(书籍种类)/ 这一部分。 可以采用正则表达式解析筛选 只需要在之前代码ArrayList . add() 操作之前,进行正则表达式筛选即可 修改代码如下: 1 public static ArrayList getBookClass(String read){ 2 ArrayList<String> arrayList = new ArrayList<String>() ; 3 String data = new String( "<a href=\"http:(.*)html>") ; 4 Document doc = Jsoup.parse(read); 5 Elements elements = doc.select("a"); 6 for(Element element : elements){ 7 String aurl = element.attr("href") ; 8 String con = "/categories(.*)" ; 9 Pattern ah = Pattern.compile(con); 10 Matcher mr = ah.matcher(aurl); 11 while(mr.find()){ 12 if(!arrayList.contains(mr.group())){ 13 arrayList.add(mr.group()); 14 } 15 } 16 } 17 return arrayList ; 18 } 运行结果: 要进入上面书籍种类对应网页的链接已经拿到了,也就是 ArrayList<String>中对应的值与http://bestcbooks.com 加 ArrayList<String>.get(i) 现在拿到了这些类型书籍的链接,可以继续通过之前的getBookUrlCode(String url)来获取对应源码,这样就可以拿到某种类型的书籍地址了。 书籍分享对应的链接需要在源码中找,结果分析,是<a href='/B008P686RA/'> 中的这段字符,还有一些链接是关于买书的,不是分享页。 它们的特点是每个后面都有一个下载图标,也就是<img src="/images/download.png" ,可以利用这一点很好的讲关键字符利用正则表达式切出 。 关于种类获取书籍的方法代码如下,返回是一个ArrayList<String> 1 public static ArrayList getBook(String read){ 2 ArrayList<String> arrayList = new ArrayList<String>() ; 3 4 String con = "<a href=(.*)<img src=\"/images/download" ; 5 Pattern ah = Pattern.compile(con); 6 Matcher mr = ah.matcher(read); 7 System.out.println("find"); 8 while(mr.find()) { 9 if (!arrayList.contains(mr.group())) { 10 arrayList.add(mr.group()); 11 } 12 } 13 return arrayList ; 14 } 返回ArrayList<String> 书籍对应的链接也已经可以找到了,接下来就是进入这个链接,拿到百度网盘的地址(有些会有密码,也要一起拿到) 获得网盘链接和密码的方法: 1 public static void find(String read){ 2 String con = "<a href=\"(.*)pan.baidu.com(.*)ref" ; 3 Pattern ah = Pattern.compile(con); 4 Matcher mr = ah.matcher(read); 5 while(mr.find()) { 6 String []bookPan = mr.group().split("\"") ; 7 String bookM = bookPan[1] ; 8 System.out.print(bookM+" "); 9 10 } 11 } 12 public static void getM(String read){ 13 String con = "密码(.*)" ; 14 Pattern ah = Pattern.compile(con); 15 Matcher mr = ah.matcher(read); 16 while(mr.find()) { 17 System.out.print(mr.group()); 18 19 } 20 System.out.println(); 21 } 测试结果: 还可以通过正则将书籍名称,评分等信息找出。 以下是完整代码: 1 package Book; 2 3 import org.jsoup.Jsoup; 4 import org.jsoup.nodes.Document; 5 import org.jsoup.nodes.Element; 6 import org.jsoup.select.Elements; 7 8 import java.io.BufferedReader; 9 import java.io.IOException; 10 import java.io.InputStreamReader; 11 import java.net.HttpURLConnection; 12 import java.net.URL; 13 import java.util.ArrayList; 14 import java.util.Queue; 15 import java.util.regex.Matcher; 16 import java.util.regex.Pattern; 17 18 public class GetBook { 19 20 public static String getBookUrlCode(String url) throws IOException { 21 URL u ; 22 HttpURLConnection httpURLConnection ; 23 String ret = "" ; 24 try{ 25 u = new URL(url); 26 httpURLConnection = (HttpURLConnection)u.openConnection() ; 27 if(httpURLConnection.getResponseCode()==200){ 28 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),"utf-8")) ; 29 30 String read ; 31 while((read=bufferedReader.readLine())!=null){ 32 ret += read ; 33 ret+="\r\n" ; 34 } 35 } 36 }catch (Exception e){ 37 38 } 39 return ret ; 40 } 41 42 43 public static ArrayList getBookClass(String read){ 44 ArrayList<String> arrayList = new ArrayList<String>() ; 45 Document doc = Jsoup.parse(read); 46 Elements elements = doc.select("a"); 47 for(Element element : elements){ 48 String aurl = element.attr("href") ; 49 String con = "/categories(.*)" ; 50 Pattern ah = Pattern.compile(con); 51 Matcher mr = ah.matcher(aurl); 52 while(mr.find()){ 53 if(!arrayList.contains(mr.group())){ 54 arrayList.add(mr.group()); 55 } 56 } 57 } 58 return arrayList ; 59 } 60 61 public static ArrayList getBook(String read){ 62 ArrayList<String> arrayList = new ArrayList<String>() ; 63 64 String con = "<a href=(.*)<img src=\"/images/download" ; 65 Pattern ah = Pattern.compile(con); 66 Matcher mr = ah.matcher(read); 67 while(mr.find()) { 68 if (!arrayList.contains(mr.group())) { 69 arrayList.add(mr.group()); 70 } 71 } 72 return arrayList ; 73 } 74 public static void find(String read){ 75 String con = "<a href=\"(.*)pan.baidu.com(.*)ref" ; 76 Pattern ah = Pattern.compile(con); 77 Matcher mr = ah.matcher(read); 78 while(mr.find()) { 79 String []bookPan = mr.group().split("\"") ; 80 String bookM = bookPan[1] ; 81 System.out.print(bookM+" "); 82 83 } 84 } 85 public static void getM(String read){ 86 String con = "密码(.*)" ; 87 Pattern ah = Pattern.compile(con); 88 Matcher mr = ah.matcher(read); 89 while(mr.find()) { 90 System.out.print(mr.group()); 91 92 } 93 System.out.println(); 94 } 95 public static void main(String[] args) throws Exception { 96 ArrayList<String> arrayList= getBookClass(getBookUrlCode("http://bestcbooks.com/")); 97 for(int i=0;i<arrayList.size();i++){ 98 String read = getBookUrlCode("http://bestcbooks.com"+arrayList.get(i)); 99 ArrayList<String> book = getBook(read); 100 for(int j=0;j<book.size();j++){ 101 String[] bookIn = book.get(j).split("\""); 102 String myBook = bookIn[1] ; 103 String myBookCode = getBookUrlCode("http://bestcbooks.com"+myBook); 104 //System.out.println(myBookCode); 105 find(myBookCode); 106 getM(myBookCode); 107 } 108 } 109 } 110 } 还可以用Frame将这个程序变得更有意义: 还有这个更丰富的计算机资源网站,结构更加复杂,后继会补出爬取方法 : https://salttiger.com/ (因为存在分页,可以考虑使用宽度优先搜索,通过网站名称,排除掉外界链接,使用多线程,每当爬取一定链接时,对爬取的书籍进行解析) 资源: C Practical C++ Programming : http://pan.baidu.com/s/13zX3C 密码:le1q 学通C语言的24堂课 : http://pan.baidu.com/s/1jGFSeJO 密码:ml74C语言程序设计 现代方法(第2版) : http://pan.baidu.com/s/1eQGGlii C语言学习路线图•C语言必须知道的300个问题 : http://pan.baidu.com/s/1gdFYjvl 密码:5z7tC语言参考手册(原书第5版) : http://pan.baidu.com/s/1znvci 密码:xrts你必须知道的495个C语言问题 : http://pan.baidu.com/s/1hqqTDsS 密码:hha2C语言入门经典(第5版) : http://pan.baidu.com/s/1eQ1MwCi 密码:ygjmC程序设计语言(第2版•新版) : http://vdisk.weibo.com/lc/3UlAHKgT3fnPf8rU7MV 密码:HCU3学习使用C指针(英文本) : http://pan.baidu.com/s/1dDqsYWx 明解C语言 : http://pan.baidu.com/s/1kTDgl99 C语言接口与实现 创建可重用软件的技术 : http://pan.baidu.com/s/1nt6q4ZZ 数据结构与算法分析 C语言描述(原书第2版) : http://pan.baidu.com/s/1pJwdcr5 C专家编程ExpertCProgrammingDeepCSecrets : http://pan.baidu.com/s/1o6ygZRO 密码:ox0bC和指针PointersOnC : http://pan.baidu.com/s/1o6M34Ie C陷阱与缺陷 : http://pan.baidu.com/s/1gd2yYsj C语言入门经典(第4版) : http://pan.baidu.com/s/1ntntEUP CPrimerPlus(中文版)(第5版) : http://pan.baidu.com/s/1qWvveaw 嗨翻C语言(英文) : http://pan.baidu.com/s/15mJ9H JAVA Java程序性能优化 让你的Java程序更快、更稳定 : http://pan.baidu.com/s/1kTmKbmn 密码:qoyi深入理解Java 7 核心技术与最佳实践 : http://pan.baidu.com/s/1kT2td23 密码:ldnl编写高质量代码 改善Java程序的151个建议 : http://pan.baidu.com/s/1gdn8iFD 密码:vpjiJava消息服务(第2版)(Java消息服务英文) : http://pan.baidu.com/s/1i3snJs5 密码:d1wsHead First Java(中文版)(第2版)(涵盖Java5.0) : http://pan.baidu.com/s/1ntLRNs9 密码:ep5g精通Ext JS : http://pan.baidu.com/s/1bny4NvD 密码:xxl8疯狂Java 突破程序员基本功的16课(修订版) : http://pan.baidu.com/s/1o6JNDgQ 密码:jixkStruts 2.1权威指南 : http://pan.baidu.com/s/1dDHyiAH 密码:jwl6Java数据结构和算法(第2版) : http://pan.baidu.com/s/1sjFDMWH 密码:2b2rJava性能优化权威指南 : http://pan.baidu.com/s/1hqvCJ2k 密码:bcct 研磨Struts2 : http://pan.baidu.com/s/1eQGF7N0 Sun 公司核心技术丛书 Effective Java中文版(第2版) : http://pan.baidu.com/s/1gdxGCWN 密码:pdnnJAVA核心技术卷2 高级特征 : http://pan.baidu.com/s/1ntBaIiH 密码:4tn9Java核心技术(卷1) 基础知识(原书第9版) : http://pan.baidu.com/s/1kTiE32Z 密码:dhvdJava虚拟机规范(Java SE 7版) : http://pan.baidu.com/s/1i3BiLbZ 密码:vhke深入理解Java虚拟机 JVM高级特性与最佳实践(第2版) : http://pan.baidu.com/s/1pJ9Attx 密码:vr7hSpring实战(第3版) : http://pan.baidu.com/s/1sjrVsrb 密码:fybkJava并发编程实战 : http://pan.baidu.com/s/1mgrzBBi 深入剖析Tomcat : http://pan.baidu.com/s/1hqBk5Kg Java软件结构与数据结构(第3版) : http://pan.baidu.com/s/1qWFDS1u 数据结构与算法分析 Java语言描述(第2版) : http://pan.baidu.com/s/1jG1DaT4 Java网络编程(第3版) : http://pan.baidu.com/s/1o6x1gG6 Java编程思想(第4版) : http://pan.baidu.com/s/1bn3nfsF Head First Servlets and JSP(第2版) (英) : http://pan.baidu.com/s/19Zhyl Java How to Program (9th Edition) : http://uet.vnu.edu.vn/~chauttm/e-books/java/JH2P-9th.pdf Android Android驱动开发与移植实战详解 : http://pan.baidu.com/s/1xuyB0密码:9lmn 深入理解Android:卷2 : http://pan.baidu.com/s/1kT3NHKN密码:1d4m 深入理解Android(卷1) : http://pan.baidu.com/s/1ntA5jHB密码:me3n Android Database Programming : http://pan.baidu.com/s/1hqy4eqg密码:oyqi Android Security Cookbook : http://pan.baidu.com/s/1qWNqsqw密码:pkot Android Development Tools for Eclipse : http://pan.baidu.com/s/1mgqozlI密码:zodj Android安全机制解析与应用实践 : http://pan.baidu.com/s/1eQy8jho密码:dlbx 疯狂Android讲义(第2版) : http://pan.baidu.com/s/1o6mgALk密码:bbyu 移动应用UI设计模式 : http://pan.baidu.com/s/1o6HUIxk密码:7rw4 细说Android 4.0 NDK编程 : http://pan.baidu.com/s/1bnzunsN密码:fxwh Android Hacker&#8217;s Handbook : http://pan.baidu.com/s/1gdvOpjl密码:nfj4 Android编程权威指南 : http://pan.baidu.com/s/1dDCNwlj密码:1eb4 Android 4编程入门经典:开发智能手机与平板电脑应用 : http://pan.baidu.com/s/1i3inelR密码:r1fc Android 2.3应用开发实战 : http://pan.baidu.com/s/1bnpQLQn密码:vj87 Android的设计与实现(卷1) : http://pan.baidu.com/s/1i347DQ1密码:27nw Android编程入门很简单 : http://pan.baidu.com/s/1mgFqVHY密码:ndg3 图灵程序设计丛书:Android平板电脑编程基础教程 : http://pan.baidu.com/s/1i3CFmhJ密码:vc4k Android基础教程(第3版•修订版) : http://pan.baidu.com/s/1jGkmRaQ密码:nu6u Android技术内幕:系统卷 : http://pan.baidu.com/s/1eQnISCi密码:jdzu Arduino机器人权威指南 : http://pan.baidu.com/s/1c0ouiXi密码:8fvu Android 3D游戏案例开发大全 : http://pan.baidu.com/s/1gdh1Eef Android移动应用开发(第3版)卷1:基础篇 : http://pan.baidu.com/s/1c0tdbHI Android核心原理与系统级应用高效开发 : http://pan.baidu.com/s/1sjtuqYT密码:xom9 Android 3D游戏开发技术宝典 OpenGL ES 2.0 : http://pan.baidu.com/s/1gd9RQCV Android框架揭秘 : http://pan.baidu.com/s/1i3sSOPR Android多媒体开发高级编程 为智能手机和平板电脑开发图形、音乐、视频和富媒体应用 : http://pan.baidu.com/s/1o6yOsdW密码:am9v Android开发从入门到精通 : http://pan.baidu.com/s/1gd1Mjb9密码:2yr4 Android 4.0网络编程详解 : http://pan.baidu.com/s/1i3n3ifz Android开发权威指南 : http://pan.baidu.com/s/1kTmdkLh密码:vs6t Android多媒体编程从初学到精通 : http://pan.baidu.com/s/1c0gT85q密码:4srk Android系统级深入开发 移植与调试 : http://pan.baidu.com/s/1hqif9lU 移动开发经典丛书 Android C++高级编程 使用NDK : http://pan.baidu.com/s/1i3ojhQX密码:yg5h Android应用UI设计模式 : http://pan.baidu.com/s/1bnkrBkz密码:r6ug 精彩绝伦的Android UI设计 响应式用户界面与设计模式 : http://pan.baidu.com/s/1i3BPGTB密码:s7qr Android应用性能优化 : http://pan.baidu.com/s/1ntK5b53密码:9ndf Arduino从基础到实践 : http://pan.baidu.com/s/1c0b1lnU密码:6693 Arduino+Android互动智作 : http://pan.baidu.com/s/1bnuzEz1密码:9151 Android应用开发入门 : http://pan.baidu.com/s/1c0pDRVy密码:21i4 Android开发精要 : http://pan.baidu.com/s/1ntwhhm5 Android移动开发一本就够 : http://pan.baidu.com/s/1kTDglHd密码:uwdg Android应用开发揭秘 : http://pan.baidu.com/s/1pJ4k7VX密码:6ts6 Android 4游戏编程入门经典 : http://pan.baidu.com/s/1dDopWit密码:4uc5 Android UI基础教程 : http://pan.baidu.com/s/1i380Bat密码:ofjg 深入理解Android网络编程 技术详解与最佳实践 : http://pan.baidu.com/s/1qWErVfm密码:niio Android 4高级编程(第3版) : http://pan.baidu.com/s/1c0j8o5y密码:bk74 Android软件安全与逆向分析 : http://pan.baidu.com/s/1jGmJPBo密码:zeh5 Learning Android(英文版) : http://pan.baidu.com/s/1dDBW7x3密码:k9z3 Android开发权威指南(第2版) : http://pan.baidu.com/s/1kTDMiyz 精通Android : http://pan.baidu.com/s/1GLP9O密码:82ik C++ 数据结构C++语言描述:应用标准模板库STL(第2版) : http://pan.baidu.com/s/1qWJm6oG密码:tqbv Visual C++2008入门经典 : http://pan.baidu.com/s/1jGGGQB8密码:sque 面向对象程序设计:C++语言描述(原书第2版) : http://pan.baidu.com/s/1kTpA1GN密码:1pz5 C标准库(英文版) : http://pan.baidu.com/s/1kTghbMn密码:qntp C和C++安全编码 : http://pan.baidu.com/s/1eQiZd1S密码:jwc7 清华大学计算机系列教材:数据结构(C++语言版)(第3版) : http://pan.baidu.com/s/195DOa密码:ugee C++ Primer(中文版)(第5版) : http://pan.baidu.com/s/1eQAdygU密码:6mhv C++ Primer Plus中文版(第6版) : http://pan.baidu.com/s/1kTnzgsZ密码:5g91 C++ GUI Qt 4编程(第2版) : http://pan.baidu.com/s/1gd7jl4J 深入理解C++11 C++11新特性解析与应用 : http://pan.baidu.com/s/1bn1lDW7密码:5t8c 深入浅出MFC : http://pan.baidu.com/s/168jmO 超越C++标准库:Boost库导论 : http://pan.baidu.com/s/1mlTuj Beyond the C++ Standard Library : http://pan.baidu.com/s/1DWm26 Real-Time C++ : http://pan.baidu.com/s/1ceXok密码:7qqy C++编码规范 : http://pan.baidu.com/s/1j4cz0 深度探索C++对象模型 : http://pan.baidu.com/s/1eewVI C++沉思录 : http://pan.baidu.com/s/1kkaue Advanced C++ : http://pan.baidu.com/s/1G9QB C++设计新思维 : http://pan.baidu.com/s/1oTIt9 C++ Templates : http://pan.baidu.com/s/1FYekK Exceptional C++ Style : http://pan.baidu.com/s/1zJdK0 More Exceptional C++(英文) : http://pan.baidu.com/s/19S106 More Exceptional C++ : http://pan.baidu.com/s/1onLiA Exceptional C++ : http://pan.baidu.com/s/17kBwt Exceptional C++(英文) : http://aalmos.kaniserver.net/doc/cpp/Exceptional%20C%2B%2B.pdf More Effective C++ : http://pan.baidu.com/s/11KVWY Effective STL(英文) : http://pan.baidu.com/s/1cc4vP Effective STL : http://pan.baidu.com/s/1zdgwP Effective C++ 第三版(英文) : http://ptgmedia.pearsoncmg.com/images/9780321334879/samplepages/0321334876.pdf Effective C++ 第三版 : http://pan.baidu.com/s/11eYtj C++程序设计原理与实践 : http://pan.baidu.com/s/1BZM C++ Primer 第五版 (英文) : http://pan.baidu.com/s/1iihPU Accelerated C++中文版 : http://pan.baidu.com/s/1uZvj8 C++编程思想第二版第二卷 : http://pan.baidu.com/s/1j4cvn C++编程思想第二版第一卷 : http://pan.baidu.com/s/1mlSRq C++ Primer 第四版 : http://pan.baidu.com/s/19m4hD The C++ Standard Library 2nd : http://pan.baidu.com/s/1bw6wa C++标准库(第一版) : http://pan.baidu.com/s/1utxlw C++ Concurrency in Action : http://www.engcomputacaopucgo.com/arquivos/Materiais/Sistemas%20Operacionais/progconcCPP.pdf Inside the C++ Object Model : http://pan.baidu.com/s/1BovpS C++语言的设计与演化 : http://pan.baidu.com/s/1DWleJ C++编程思想第二卷 : http://pan.baidu.com/s/1j4cvn C++编程思想第一卷 : http://pan.baidu.com/s/1mlSRq The C++ Programming Language第四版 : http://pan.baidu.com/s/1GEbux C++程序设计语言(特别版) : http://pan.baidu.com/s/120Tin Clojure Clojure编程乐趣 : http://pan.baidu.com/s/1nahTc密码:r55a Clojure程序设计(英文) : http://pan.baidu.com/s/1pavaE密码:vm6p C# Windows CE(C#)嵌入式应用开发 : http://pan.baidu.com/s/1hqipiJy密码:649k CLR via C#(第3版) : http://pan.baidu.com/s/1gdJ4VQz密码:ameb C#入门经典(第5版) : http://pan.baidu.com/s/1qWPYkLA密码:ymob C#深入详解:百问•百答•百例 : http://pan.baidu.com/s/1pmV4E密码:wib5 深入理解C#(第2版) : http://pan.baidu.com/s/1o6pvBb8密码:esel C#本质论(第3版) : http://pan.baidu.com/s/1ntLlIEd WPF编程宝典 使用C#2012和.NET 4.5(第4版) : http://pan.baidu.com/s/1i3FmBmX C#高级编程(第8版) : http://pan.baidu.com/s/1o6mCfqi密码:hsxe C#图解教程(第4版) : http://pan.baidu.com/s/1i3HUz69密码:bv6w C#设计模式 : http://pan.baidu.com/s/1i3qQcsP C#本质论(第2版) : http://pan.baidu.com/s/1c0vJWty 程序员突击 VISUAL C#2008原理与系统开发 : http://pan.baidu.com/s/1ntoadWd密码:g4xh 数据结构与算法(C#语言版)(影印版) : http://pan.baidu.com/s/1iWK70 Visual C#2008从入门到精通 : http://pan.baidu.com/s/1dDII5Qp DSL 实现领域驱动设计 : http://pan.baidu.com/s/1eQ9oEEQ 密码:5afb 领域专用语言实战(英文版) : http://pan.baidu.com/s/1mVEDP GO语言 Go语言编程 : http://pan.baidu.com/s/1lC8ZL h t m l 图灵程序设计丛书 HTML5权威指南 : http://pan.baidu.com/s/1ntI3XKd 密码:6cy5 精彩绝伦的CSS : http://pan.baidu.com/s/1ntuMtfF 论道HTML5 : http://pan.baidu.com/s/1i3wqyZN CSS Web设计高级教程(第2版) : http://pan.baidu.com/s/1bnkqGaz HTML5秘籍 : http://pan.baidu.com/s/1rJX3S Head First HTML5 Programming(英文版) : http://pan.baidu.com/s/1c047fMg 密码:euot 图灵程序设计丛书 HTML5程序设计(第2版) : http://pan.baidu.com/s/1gdecBfH HTML5移动Web开发指南 : http://pan.baidu.com/s/1pJyfdPp 密码:sqs1 写给Web开发人员看的HTML5教程 : http://pan.baidu.com/s/1sj1yMnj 密码:j1sz 王志刚作品系列 HTML5移动开发即学即用(双色) : http://pan.baidu.com/s/1c0f4E9y 密码:p71a HTML5与CSS3实战指南 : http://pan.baidu.com/s/1jGJoarW 密码:bgqe Web编程入门经典 HTML、XHTML和CSS(第2版) : http://pan.baidu.com/s/1kTwRsLT 响应式Web设计 HTML5和CSS3实战 : http://pan.baidu.com/s/1zPFYR CSS权威指南 第3版 : http://pan.baidu.com/s/1ouzXt HTML5揭秘 : http://pan.baidu.com/s/1GeJPL HTML5敏捷实践 : http://pan.baidu.com/s/13SyXl 密码:4jwb IOS iOS应用开发攻略 : http://pan.baidu.com/s/1sj0KGXn 密码:mo07 iOS 4实战 iPhone与iPad应用开发 : http://pan.baidu.com/s/1c05oYcC 密码:pndw iPhone 4与iPad开发基础教程 : http://pan.baidu.com/s/1eQ9U87K 密码:q3xi iPhone开发秘籍(第2版) : http://pan.baidu.com/s/1mguPn64 密码:5sqy Iphone3开发基础教程 : http://pan.baidu.com/s/1dDtbD9R 密码:wrff Beginning iPad Application Development : http://pan.baidu.com/s/1o6uLkcq 密码:0zxr 精通iOS开发(第5版) : http://pan.baidu.com/s/1kTju1WN 密码:6yxf Objective-C程序设计 第4版 : http://pan.baidu.com/s/1Gdulr 密码:lmgx 黑客攻防技术宝典. iOS实战篇(英文版) : http://pan.baidu.com/s/1qZBFo IT文化 黑客 计算机革命的英雄 : http://pan.baidu.com/s/1dD69k57 图灵的秘密 他的生平、思想及论文解读 : http://pan.baidu.com/s/1jGIAlpW 别逗了,费曼先生 : http://pan.baidu.com/s/1qW4RBWw密码:hf2h 编程人生 15位软件先驱访谈录 : http://vdisk.weibo.com/lc/3UlAHKgT3fnUQH8Fw9n密码:O86R 编码 隐匿在计算机软硬件背后的语言 : http://pan.baidu.com/s/1kT2ZUS3密码:eyst 淘宝技术这十年 : http://vdisk.weibo.com/lc/3UlAHKgT3fnPiwDo2LH密码:R72J 程序员的思维修炼 开发认知潜能的九堂课 : http://pan.baidu.com/s/1mg6YYpy 图灵程序设计丛书 代码的未来 : http://pan.baidu.com/s/1i3BO0Sl密码:gbl5 深入理解计算机系统 : http://pan.baidu.com/s/1szseH 程序员的职业素养 : http://pan.baidu.com/s/1tfqjK 七周七语言 : http://pan.baidu.com/s/13n4Bh 松本行弘的程序世界 : http://pan.baidu.com/s/1eQZcL 信息简史(英文版) : http://pan.baidu.com/s/1e2DG密码:t40r 浪潮之巅 : http://pan.baidu.com/s/1tHlvT 黑客与画家 : http://pan.baidu.com/s/11OweH JavaScript 高流量网站CSS开发技术 : http://pan.baidu.com/s/1sjydIPZ 深入浅出CoffeeScript : http://pan.baidu.com/s/1gdEDiIv Node Web开发 : http://pan.baidu.com/s/1mg7HvxY Node学习指南 : http://pan.baidu.com/s/1kTDOuof 密码:qh74 JavaScript启示录 : http://pan.baidu.com/s/1sjqB5lN 密码:63gv JavaScript权威指南(第5版) : http://pan.baidu.com/s/1mgDgr8k 密码:sn27 JavaScript设计模式 : http://pan.baidu.com/s/1bngUgk3 密码:ph2e HTML5从入门到精通 : http://pan.baidu.com/s/1jGxAM3O 密码:ftbl O&#8217;Reilly精品图书系列 JavaScript权威指南(第6版) : http://pan.baidu.com/s/1bnGLVH1 密码:qssh HTML5游戏开发 : http://pan.baidu.com/s/1b622y 密码:ph56 JavaScript DOM编程艺术(第2版) : http://pan.baidu.com/s/1eQkRI18 密码:27ik jQuery权威指南 : http://pan.baidu.com/s/1qWFF04G 密码:4st1 jQuery攻略 : http://pan.baidu.com/s/1dD9qsxj 密码:s5sj 犀利开发 jQuery内核详解与实践 : http://pan.baidu.com/s/1dD02O6H 密码:ii54 JavaScript高级程序设计(第2版) : http://pan.baidu.com/s/1qWDDCcc 密码:dqes jQuery用户界面库学习指南 : http://pan.baidu.com/s/1eQqrxGe 密码:jrx9 JavaScript宝典(第6版) : http://pan.baidu.com/s/1mg1A2Ac 密码:4rbm JavaScript王者归来 : http://pan.baidu.com/s/1dDACpjV 密码:u1ny JavaScript高级应用与实践 : http://pan.baidu.com/s/1sj4iivV 密码:dtc2 精通JavaScript : http://pan.baidu.com/s/1hqqnvak 密码:i5pg JavaScript语言精粹(修订版) : http://pan.baidu.com/s/1goXFg Node.js高级编程 : http://pan.baidu.com/s/1bnf6V4z 密码:8035 JavaScript修炼之道 : http://pan.baidu.com/s/1cPgZD JavaScript DOM编程艺术 第2版 : http://pan.baidu.com/s/1EcSEK 编写可维护的JavaScript : http://pan.baidu.com/s/19ZgXa 密码:69xu JavaScript高级程序设计3 : http://pan.baidu.com/share/link?shareid=4053513680&uk=1393436891 了不起的Node.js:将JavaScript进行到底(英文) : http://vdisk.weibo.com/lc/3UlAHKgT3fnPihAYFFX 密码:Q5MK 用AngularJS开发下一代Web应用(英文) : http://pan.baidu.com/s/17oHAn jQuery基础教程(第2版) : http://pan.baidu.com/s/1eOj4K JavaScript异步编程 : http://pan.baidu.com/s/1qZbQg Linux Linux/UNIX系统编程手册 : http://vdisk.weibo.com/lc/3UlAHKgT3fmzVCtwDwF密码:ISN3 Linux Shell脚本攻略 : http://pan.baidu.com/s/1hqmOrU8 UNIX网络编程(卷1) 套接字联网API(第3版) : http://pan.baidu.com/s/1qWjkoAK Linux程序设计(第4版) : http://pan.baidu.com/s/1c0gkSRQ LINUX设备驱动程序(第3版) : http://pan.baidu.com/s/1EKRXc Linux命令行与shell脚本编程大全(第2版) : http://pan.baidu.com/s/1ntLQai1 深入理解LINUX内核(第3版)(涵盖2.6版) : http://pan.baidu.com/s/1qWAU4Lu密码:xm2q Linux内核完全注释 : http://pan.baidu.com/s/168wL8 A Practical Guide to Linux Commands Editors and Shell Programming : http://pan.baidu.com/s/1pDzfu 鸟哥的Linux私房菜-基础学习篇 : http://pan.baidu.com/s/1oX0MC 鸟哥的linux私房菜-服务器架设 : http://pan.baidu.com/s/1JVcJ MAC Mac功夫 : http://pan.baidu.com/s/11RAcz Oracle Oracle核心技术(英文) : http://pan.baidu.com/s/1tefu5密码:fsn5 Perl Perl语言入门(中文版)(第6版) : http://pan.baidu.com/s/1c0zNGLM Python Python黑帽子:黑客与渗透测试编程之道 : http://pan.baidu.com/s/1mhv22c4 密码:pa75 易学Python : http://pan.baidu.com/s/1gdn8ga3 密码:z7xk Python标准库 : http://pan.baidu.com/s/1EM0ge 密码:q500 Python编程(上下)(影印版)(第4版) : http://pan.baidu.com/s/1mg9ItkO 密码:9nqg Python灰帽子 黑客与逆向工程师的Python编程之道 : http://pan.baidu.com/s/1jGiIfDc 密码:i3os Python自然语言处理(影印版) : http://pan.baidu.com/s/1c06ARle 密码:4yk8 Python高级编程 : http://pan.baidu.com/s/1b6NyI 密码:mr8t Python UNIX和Linux系统管理指南 : http://pan.baidu.com/s/1i3E8mHZ 密码:vfyx Python源码剖析 深度探索动态语言核心技术 : http://pan.baidu.com/s/1pJ369n1 密码:1u5h 趣学Python编程 : http://pan.baidu.com/s/1mglvlPm 密码:bs6q 利用Python进行数据分析 : http://vdisk.weibo.com/lc/3UlAHKgT3fmzUSAgScx 密码:A9JW 像计算机科学家一样思考Python : http://pan.baidu.com/s/1kTiE1xH 密码:uemk Python参考手册(第4版) : http://pan.baidu.com/s/1jG5bdSM 密码:194a 与孩子一起学编程 : http://pan.baidu.com/s/1o6O5MmY 密码:yl2g Python Cookbook(第2版)中文版 : http://pan.baidu.com/s/1jGyp6jc 密码:llsy 重视大脑的学习指南 Head First Python(中文版) : http://pan.baidu.com/s/1c0cNd9e 密码:rba6 Python学习手册(第4版) : http://pan.baidu.com/s/1ntCw7Vj 密码:l4p4 Python基础教程(第2版) : http://pan.baidu.com/s/1gdgeKT1 密码:dfrp Python学习手册(第3版) : http://pan.baidu.com/s/1mgDe4QG 密码:nzji Python核心编程(第2版) : http://pan.baidu.com/s/1kT9IPBx 密码:5n2w PHP Learning PHP设计模式 : http://pan.baidu.com/s/1jGun6ku 密码:ud6q PHP5权威编程 : http://pan.baidu.com/s/1kT8y1Pd 密码:pb1c Head First PHP &amp; MySQL(中文版) : http://pan.baidu.com/s/1hqsTWkk 计算机科学丛书 Php和Mysql Web开发(原书第4版) : http://pan.baidu.com/s/1o66oTQE 密码:6dy8 Processing Processing语言权威指南 : http://pan.baidu.com/s/1dDf2VnV 密码:r1qy 爱上Processing : http://pan.baidu.com/s/1i3A2RXz 密码:imlt Ruby Ruby Programming 向Ruby之父学程序设计(第2版) : http://pan.baidu.com/s/1jGI9TRo 密码:77zb Ruby从入门到精通 : http://pan.baidu.com/s/1pJjnP0J 密码:g0p2 Ruby on Rails Web开发之旅 : http://pan.baidu.com/s/1pJAYinh 密码:cb5z Programming Ruby(中文版)(第2版) : http://pan.baidu.com/s/1hqsUKa4 R和Ruby数据分析之旅 : http://pan.baidu.com/s/1c0tcTkW Ruby元编程 : http://pan.baidu.com/s/1ntHLW5z 松本行弘的程序世界 : http://pan.baidu.com/s/1eQZcL R语言 数据挖掘与R语言 : http://vdisk.weibo.com/lc/3UlAHKgT3fnPevlgib9密码:UXB4 R语言技术手册(第2版) : http://pan.baidu.com/s/1c0iSIVQ密码:46pf R语言编程艺术 : http://pan.baidu.com/s/1jAF9Q Scala Scala编程 : http://pan.baidu.com/s/1BZ5E1 Unix UNIX环境高级编程(第3版)(英文版) : http://pan.baidu.com/s/1sjt1Wz7 密码:0b5g UNIX环境高级编程(第2版) : http://pan.baidu.com/s/1dDjHbGl 密码:o6cm 传世经典书丛 UNIX编程艺术 : http://pan.baidu.com/s/1hqsoW1e Unix网络编程第一卷 : http://pan.baidu.com/s/1oX2n0 web 大型网站技术架构:核心原理与案例分析 : http://pan.baidu.com/s/1ntGAKfn密码:yrxj 点石成金 访客至上的网页设计秘笈(原书第2版) : http://pan.baidu.com/s/1ntyRsdr 社交网站的数据挖掘与分析 : http://pan.baidu.com/s/1pJM3KE3 网络、群体与市场 揭示高度互联世界的行为原理与效应机制 : http://pan.baidu.com/s/1hqh07be 大巧不工 Web前端设计修炼之道 : http://pan.baidu.com/s/1dDj8zzN密码:cpuw 编写高质量代码 Web前端开发修炼之道 : http://pan.baidu.com/s/1sjtZtk5密码:xy7q SEO必知必会51技 : http://pan.baidu.com/s/1bnF0719密码:pkvc Web标准之道 博客园精华集 : http://pan.baidu.com/s/1o6rx898密码:2bu9 高性能网站建设指南 : http://pan.baidu.com/s/1qW12Qza密码:a1zm CSS商业网站布局之道 : http://pan.baidu.com/s/1gdCA9Ir密码:drwn 黑客攻防技术宝典 Web实战篇 第2版 : http://pan.baidu.com/s/1xhR1X Web之困:现代Web应用安全指南(英文) : http://pan.baidu.com/s/1vdkDo密码:3nok Windows Windows内核原理与实现 : http://pan.baidu.com/s/1ntuNkW5密码:t1b5 Windows内核情景分析:采用开源代码ReactOS(上、下册) : http://pan.baidu.com/s/1ntwjf4X密码:i3lc Windows核心编程(第5版) : http://pan.baidu.com/s/1o6O5O5k COM技术内幕 : http://pan.baidu.com/s/17Utww Windows via C/C++ : http://pan.baidu.com/s/1CDYZR 深入浅出MFC : http://pan.baidu.com/s/168jmO 天书夜读:从汇编语言到Windows内核编程 : http://pan.baidu.com/s/18AdMc 程序员的自我修养 : http://pan.baidu.com/s/1ehNwC Windows环境下32位汇编语言程序设计 : http://pan.baidu.com/s/1dObO 云计算 Windows Azure实战 : http://pan.baidu.com/s/1sj0LQvb 密码:qrpv 腾云 云计算和大数据时代网络技术揭秘 : http://pan.baidu.com/s/1sj75yTf 互联网 周鸿祎自述:我的互联网方法论 : http://pan.baidu.com/s/1qWqMggs密码:2pty 世界是数字的 : http://pan.baidu.com/s/1bnclajl 推荐系统实践 : http://pan.baidu.com/s/1gdBoJdD密码:jk7o 写给大家看的设计书(第3版) : http://pan.baidu.com/s/1o66qGw6密码:d95h Mahout实战 : http://pan.baidu.com/s/1kT6vYWv密码:7uev 大数据时代 生活、工作与思维的大变革} : http://pan.baidu.com/s/1mgM99c0密码:rkob 数据之美:一本书学会可视化设计 : http://pan.baidu.com/s/1c0qvl4W密码:9tnh 3D打印 从想象到现实 : http://pan.baidu.com/share/link?shareid=2942795639&uk=1946328480 人人都是产品经理 Version 1.1 : http://pan.baidu.com/s/1bnrdi6j 移动浪潮 移动智能如何改变世界 : http://pan.baidu.com/s/1gpMUi 深入浅出数据分析 : http://pan.baidu.com/s/1ntAvsFn密码:t9a3 如何创造思维 人类思想所揭示出的奥秘 : http://pan.baidu.com/s/1dDeMWPb密码:3ah1 大数据•互联网大规模数据挖掘与分布式处理 : http://pan.baidu.com/s/1jGLWhQe密码:qu74 互联网进化论 : http://pan.baidu.com/s/1hq9O6dm 结网 互联网产品经理改变世界 : http://pan.baidu.com/s/1nE03S SEO的艺术 原书第2版 : http://pan.baidu.com/s/19tj7E 人工智能 哥德尔、艾舍尔、巴赫 集异璧之大成 : http://vdisk.weibo.com/lc/3UlAHKgT3fnURBXHqGN 密码:EWOF 信息安全 0day安全 软件漏洞分析技术(第2版) : http://pan.baidu.com/s/1sjLd2fr 密码:4hew Reversing 逆向工程揭密 : http://pan.baidu.com/s/1jG2uQ9o 密码:5xe9 线上幽灵 世界头号黑客米特尼克自传 : http://pan.baidu.com/s/1hqwXFXM 密码:9a6t 社会工程 安全体系中的人性漏洞(英文) : http://pan.baidu.com/s/1zkSpL 密码:qj5t 黑客攻防技术宝典 Web实战篇 第2版 : http://pan.baidu.com/s/1xhR1X Rootkit:系统灰色地带的潜伏者(英文) : http://pan.baidu.com/s/1BY2rH Metasploit渗透测试魔鬼训练营 : http://pan.baidu.com/s/11iWPT 数学 数学之美(第二版) : http://pan.baidu.com/s/1o6jyCga密码:7cwn MATLAB之父 教你编程 : http://pan.baidu.com/s/1mg0phv6密码:ckw2 图灵计算机科学丛书•具体数学 计算机科学基础(第2版) : http://pan.baidu.com/s/1o6sbNcA 程序员的数学 : http://pan.baidu.com/s/1hqVN 数据库 Hadoop实战(第2版) : http://pan.baidu.com/s/1mgyTmAW 密码:d660 Hadoop实战 : http://pan.baidu.com/s/1gdrBQRT 密码:1qik 高性能MySQL(第3版) : http://pan.baidu.com/s/1gdut3LD 密码:pv2w 深入学习MongoDB : http://pan.baidu.com/s/1eQgiebS 密码:bgsd 深入浅出JavaScript : http://pan.baidu.com/s/1ntCxNFr 密码:n1tk MongoDB权威指南(第2版) : http://vdisk.weibo.com/lc/3UlAHKgT3fnPiY6U0GV 密码:Y1UH Effective MySQL之SQL语句最优化 : http://pan.baidu.com/s/1pJpsJSv Hadoop基础教程 : http://pan.baidu.com/s/1kTE3wJd 谁说菜鸟不会数据分析(入门篇)(全彩) : http://pan.baidu.com/s/1ntBHxaT SQL反模式 : http://pan.baidu.com/s/1eQIa5bW Hadoop权威指南(第2版)(修订•升级版) : http://pan.baidu.com/s/1hqmOrJY NoSQL精粹(英文) : http://pan.baidu.com/s/1iUHql MySQL必知必会 : http://pan.baidu.com/s/1CGV1R 易语言 中文编程 从入门到精通(附光盘1张) : http://pan.baidu.com/s/1jGFltDO 汇编 C++反汇编与逆向分析技术揭秘 : http://pan.baidu.com/s/1sjr0gWH密码:u6lb 汇编语言(第3版) : http://pan.baidu.com/s/1pJLf7nl Windows环境下32位汇编语言程序设计 : http://pan.baidu.com/s/1dObO 测试 Google软件测试之道(英文) : http://pan.baidu.com/s/15pxQX 密码:xzx6 游戏 Android 3D游戏开发技术详解与典型案例 : http://pan.baidu.com/s/1dHCvW 密码:4i3q C++游戏编程 : http://pan.baidu.com/s/1pJwTNTp 密码:vjop 游戏之旅 我的编程感悟 : http://pan.baidu.com/s/1sj6QZId 游戏改变世界 游戏化如何让现实变得更美好 : http://pan.baidu.com/s/1vQtHW 游戏引擎架构 : http://pan.baidu.com/s/1jGHTeAU 算法 数据结构与算法分析 C++语言描述(第2版) : http://vdisk.weibo.com/lc/3UlAHKgT3fnUQ8Jai1n密码:M4QG 大话数据结构 : http://pan.baidu.com/s/1qWHakSc 算法导论(原书第3版) : http://pan.baidu.com/s/1mgG5icw密码:t3hn 编程珠玑(第2版) : http://pan.baidu.com/s/1hqxDpOC 网络 软件定义网络(英文) : http://pan.baidu.com/s/1qWxzNI0 图灵程序设计丛书 图解TCP/IP(第5版) : http://pan.baidu.com/s/1pJnVZBH 深入理解Nginx 模块开发与架构解析 : http://pan.baidu.com/s/1bnFyNeR HTTP权威指南 : http://pan.baidu.com/s/1AaryK 密码:er4s 职场 程序员的职业素养 : http://pan.baidu.com/s/1thYjW 密码:rl31 我编程,我快乐 程序员职业规划之道 : http://pan.baidu.com/s/1c0b2Ycw 密码:453u 走出软件作坊(IT人升职必备) : http://pan.baidu.com/s/1o6z4SaA 密码:jlos 程序员面试宝典(第4版) : http://pan.baidu.com/s/1bnGfEMV 你早该这么玩Excel : http://pan.baidu.com/s/1gdBn8eJ 别告诉我你懂PPT : http://pan.baidu.com/s/1qWlSKBa 软件工程 PPT,要你好看 : http://pan.baidu.com/s/1o6AIllC密码:47pd 大数据:正在到来的数据革命,以及它如何改变政府、商业与我们的生活 : http://pan.baidu.com/s/1bnhJlmB密码:onz0 架构之美 : http://pan.baidu.com/s/1bnzRXKz 测试驱动开发 实战与模式解析 : http://pan.baidu.com/s/1hqh0ASc 设计心理学 : http://pan.baidu.com/s/1pJwfw8b 敏捷软件开发(原则模式与实践) : http://pan.baidu.com/s/1eQ5RhIU 计算机科学概论 : http://pan.baidu.com/s/1dDACA2H密码:x3j7 大象 Thinking in UML(第2版) : http://pan.baidu.com/s/1eQtEVg2 高效程序员的45个习惯 敏捷开发修炼之道 : http://pan.baidu.com/s/1pJsaE9t 企业应用架构模式 : http://pan.baidu.com/s/1dDh5FNF 人件(第2版) : http://pan.baidu.com/s/1qWEZmcG 修改代码的艺术 : http://pan.baidu.com/s/1dDy2181密码:oeqj 计算机程序设计艺术 卷3 排序与查找(英文版•第2版) : http://pan.baidu.com/s/1hqqSW1u 代码整洁之道 : http://pan.baidu.com/s/1i3BjDsT 编译原理(第2版) : http://pan.baidu.com/s/1kTsOHM3 人月神话 : http://vdisk.weibo.com/lc/3UlAHKgT3fnUQZMrLQt密码:X3F5 代码大全(第2版) : http://pan.baidu.com/s/1kTt4CBH 七周七语言 理解多种编程范型 : http://pan.baidu.com/s/1jGsjUWQ 程序员的自我修养 链接、装载与库 : http://pan.baidu.com/s/1eQdyZbc 程序员修炼之道 从小工到专家 : http://pan.baidu.com/s/1sjsB9U1 计算机程序的构造和解释(原书第2版) : http://vdisk.weibo.com/lc/3UlAHKgT3fnPf15k58h密码:WKYI 大规模并行处理器编程实战(第2版) : http://pan.baidu.com/s/1ntsdPHn密码:v97e 重构与模式(修订版) : http://pan.baidu.com/s/1kTLnLK7 编程语言实现模式 : http://pan.baidu.com/s/129pRg 重构 改善既有代码的设计 : http://pan.baidu.com/s/1bnmYlkV HeadFirst软件开发(中文版) : http://pan.baidu.com/s/1mgnvI6c HeadFirst设计模式(中文版) : http://pan.baidu.com/s/1c0kXsBY密码:131f 梦断代码 : http://pan.baidu.com/s/1Fwo1k 设计模式:可复用面向对象软件的基础 : http://pan.baidu.com/s/1y0T7M

优秀的个人博客,低调大师

scrapy-splash 爬虫渲染异步加载,ajax

首先给出splash官网地址:http://splash.readthedocs.io/en/stable/api.html#render-html 1.安装和准备 (1)先安装scrapy-splash库: pip install scrapy-splash (2)然后将我们的docker起起来 docker run -p 8050:8050 scrapinghub/splash 如果关于docker安装还有更多的问题,请查考: splash安装文档 2.配置 (1)将splash server的地址放在你的settings.py文件里面,如果是你在本地起的,那地址应该是http://127.0.0.1:8050,我的地址如下 SPLASH_URL = 'http://192.168.99.100:8050' (2)在你的下载器中间件:download_middleware 里面启用如下的中间文件,注意启用的顺序 DOWNLOADER_MIDDLEWARES = { 'scrapy_splash.SplashCookiesMiddleware': 723, 'scrapy_splash.SplashMiddleware': 725, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, } 另外注意: scrapy_splash.SplashMiddleware(725)的顺序是在默认的HttpProxyMiddleware(750)之前,要不然顺序的紊乱会造成功能的紊乱的 HttpCompressionMiddleware的优先级和顺序也应该适当的更改一下,这样才能更能处理请求 查看:https://github.com/scrapy/scrapy/issues/1895.里面提到的一些问题 (3)在settings.py启用SplashDeduplicateArgsMiddleware中间件 SPIDER_MIDDLEWARES = { 'scrapy_splash.SplashDeduplicateArgsMiddleware': 100, } (4)我们来设置一个去重的类 DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter' (5)如果你使用scrapy http 缓存系统,那你就有必要启用这个scrapy-splash的缓存系统 HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage' 如果你有在你自己的settings.py里面启用DEFAULT_REQUEST_HEADERS ,请务必注释掉,目前看来是一个bug ,我已经给scrapy splash 官方提了这个bug https://github.com/scrapy-plugins/scrapy-splash/issues/67 该bug 是由于default_request_headers 里面的host 与我要爬的sougou不匹配,这当然会出错,不得不说scrapy的官方维护人反应真的很迅速。大家添加的headers的时候注意这些细节内容。 代码 # -*- coding: utf-8 -*- from scrapy import Request from scrapy.spiders import Spider from scrapy_splash import SplashRequest from scrapy_splash import SplashMiddleware from scrapy.http import Request, HtmlResponse from scrapy.selector import Selector class SplashSpider(Spider): name = 'scrapy_splash' # main address since it has the fun list of the products start_urls = [ 'https://item.jd.com/2600240.html' ] # allowed_domains = [ # 'sogou.com' # ] # def __init__(self, *args, **kwargs): # super(WeiXinSpider, self).__init__(*args, **kwargs) # request需要封装成SplashRequest def start_requests(self): # text/html; charset=utf-8 for url in self.start_urls: yield SplashRequest(url , self.parse , args={'wait': '0.5'} # ,endpoint='render.json' ) pass def parse(self, response): print "############"+response._url fo = open("html.txt", "wb") fo.write(response.body); # 写入文件 fo.close(); #本文只抓取一个京东链接,此链接为京东商品页面,价格参数是ajax生成的。会把页面渲染后的html存在html.txt #如果想一直抓取可以使用CrawlSpider,或者把下面的注释去掉 '''site = Selector(response) links = site.xpath('//a/@href') for link in links: linkstr=link.extract() print "*****"+linkstr yield SplashRequest(linkstr, callback=self.parse)'''

优秀的个人博客,低调大师

欢迎使用CSDN-markdown编辑器Python爬虫初接触,学会爬虫不抓美女图片干啥!

学习编程语言是很枯燥的,尤其是对一个编程零基础的人来说,更为枯燥!所以我们要从枯燥的学习中找点乐趣和动力!比如,抓点小姐姐的图片 我们的目标选择唯一图库,url自己去找【人工呲牙笑】 这个网站没有反爬,特别好爬,打开主页后,找到美女图片分类 上面分类没有这个分类,自己想办法进入哦。。。 然后往下拉,就会发现N多的图集,我们先去找找翻页,记得先打开F12开发者工具,然后选择翻页,查看源代码中位置! 可以看到这里就是控制页面翻页的源代码了,我们直接拿到a标签的href属性,这个是最后一页的地址,将属性中的“789”切出来,就拿到了最大页码,然后循环拿到所有页面的url,如下图 这样就拿到所有页面的url了,然后我们取图集的url,同样的方式,找到源码中url的位置 img_urls = etree.HTML(requests.get(url_i).text).xpath('//div[@class="ABox"]/a/@href') #url_i 是页面的url,也就是上个代码截图中那个列表,循环遍历出来的 一行代码就取到了所有a标签下的图集地址,一页有24个图集!这里我们用一个函数来获取所有图集内图片地址并返回图集名字和图片地址 这样,主要内容就写完了,然后就是构建整个代码,写入本地,我还将之前做的进度条也加进去了,整体代码和效果发出来看看! import os import time import requests from lxml import etree def get_img_url(url): ''' :param url: 图集url :return: 图集名字和图片地址所构成的字典 ''' img = {}#空字典,用于放图片url和对应的编号 html = requests.get(url)#获取页面源码 html.encoding = 'gb2312' data = etree.HTML(html.text)#解析 title = data.xpath('//div[@class="wrapper clearfix imgtitle"]/h1/text()')[0]#图集名 page = data.xpath('//div[@class="wrapper clearfix imgtitle"]/h1/span/span[2]/text()')[0]#图集图片数 img['1'] = data.xpath('//a[@class="down-btn"]/@href')[0]#第一张的图片地址 for i in range(2,int(page)+1): #其余的图片地址 img_url = etree.HTML(requests.get(url.replace('.html','_%s.html'%str(i))).text).xpath('//a[@class="down-btn"]/@href')[0] img['%s'%str(i)] = img_url#写入字典 return title,img def downloader(url,path,name,header={}): start = time.time()#开始时间 if os.path.exists(path): # 判断路径及文件夹是否存在,不存在即创建 pass else: os.mkdir(path) size = 0 if header is None: response = requests.get(url, stream=True)#stream属性必须带上 else: response = requests.get(url, stream=True,headers=header)#stream属性必须带上 chunk_size = 1024#每次下载的数据大小 content_size = int(response.headers['content-length'])#总大小 if response.status_code == 200: print('[文件大小]:%0.2f MB' % (content_size / chunk_size / 1024))#换算单位并print with open(path+'\\%s'%name, "ab") as file: for data in response.iter_content(chunk_size=chunk_size): file.write(data) file.flush()#清空缓存 size += len(data)#已下载文件大小 #\r指定行第一个字符开始,搭配end属性完成覆盖进度条 print('\r'+'[下载进度]:%s%.2f%%' % ('>'*int(size*50/ content_size),float(size / content_size * 100)),end='') end = time.time()#结束时间 print('\n'+"%s下载完成!用时%.2f秒"%(name,(end-start))) if __name__ == '__main__': url_list=[]#放入所有页面url url = 'http://www.mmonly.cc/mmtp/' url_list.append(url)#先放入第一页 html = requests.get(url) html.encoding = 'gb2312' page = etree.HTML(html.text).xpath('//a[text()="末页"]/@href')[0].split('_')[-1].split('.')[0] for i in range(2,int(page)+1): url_list.append(url+'list_9_{}.html'.format(str(i)))#其余页面url,注意第一页和其他页不一样 for url_i in url_list: img_urls = etree.HTML(requests.get(url_i).text).xpath('//div[@class="ABox"]/a/@href') for img_url in img_urls: title,imgs = get_img_url(img_url) for img in imgs.keys(): path = 'E:\\python\\mn\\%s' % title downloader(url= imgs[img],path=path,name='%s.jpg'%(title+img)) 其实这里我想说的是,整个网站很标题党。。。完全不符合标题的。

优秀的个人博客,低调大师

解决Java多张图合成JPG时出现红色前景及多列自适应适配

在当今数字化信息飞速发展的时代,图像处理技术在各个领域都占据着举足轻重的地位。从社交媒体上用户分享的精美图片,到电商平台琳琅满目的商品展示,再到各种广告宣传中的创意合成图,高质量的图像合成技术已经成为提升视觉效果、增强用户体验的关键手段。Java作为一种功能强大、应用广泛的编程语言,在图像处理领域也发挥着重要作用,为开发者提供了丰富的工具和库来实现各种复杂的图像操作。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册