`
mushme
  • 浏览: 790005 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

下载知乎制定问题回答者的头像

 
阅读更多
如题,下载知乎制定问题回答者的头像
用jsoup实现解析
package info.frady;


import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * 下载zhihu问题回答者的头像
 * @author frady
 *
 */
public class ZhihuDown {

	public static void main(String[] args) throws Exception {
		Map<String,String> imgMap=new HashMap<String,String>();
		String url="http://www.zhihu.com/question/36412655";//要抓取的问题
		Document documnet=Jsoup.connect(url).timeout(100 * 1000).get();
		
		Elements es1 = documnet.select("div.zu-main-content");
		for (Element e1 : es1) {
			Elements es2 = e1.select("h3.zm-item-answer-author-wrap");
			for (Element e2 : es2) {
				Elements es3 = e2.select("img.zm-list-avatar");//找到头像的部分了
				for (Element e3 : es3) {
					
					String imgUrl=e3.attr("src");
					imgUrl=imgUrl.substring(imgUrl.lastIndexOf("/")).substring(1);
					imgMap.put(imgUrl, imgUrl);//将头像地址存放到map中,可以防止默认头像被下载多次
				}
			}
		}
		
		for (Entry e : imgMap.entrySet()) {
			System.out.println("download..."+e.getKey().toString());
			download("http://pic1.zhimg.com/"+e.getKey().toString(), e.getKey().toString(),"d:\\image\\");
		}
		
	}
	
	public static void download(String urlString, String filename,String savePath) throws Exception {
	    // 构造URL
	    URL url = new URL(urlString);
	    // 打开连接
	    URLConnection con = url.openConnection();
	    //设置请求超时为5s
	    con.setConnectTimeout(5*1000);
	    // 输入流
	    InputStream is = con.getInputStream();
	
	    // 1K的数据缓冲
	    byte[] bs = new byte[1024];
	    // 读取到的数据长度
	    int len;
	    // 输出的文件流
	   File sf=new File(savePath);
	   if(!sf.exists()){
		   sf.mkdirs();
	   }
	   OutputStream os = new FileOutputStream(sf.getPath()+"\\"+filename);
	    // 开始读取
	    while ((len = is.read(bs)) != -1) {
	      os.write(bs, 0, len);
	    }
	    // 完毕,关闭所有链接
	    os.close();
	    is.close();
	} 

}


jsoup下载地址:http://jsoup.org/download
分享到:
评论

相关推荐

    知乎头像下载某乎头像新鲜的

    1. 尊重用户隐私:在下载和使用他人头像时,必须确保遵循知乎的使用协议,尊重用户隐私,避免侵犯版权或造成不必要的法律问题。 2. 动态加载:部分网站的内容可能是动态加载的,需要处理JavaScript或者使用如...

    下载知乎某个问题下的图片

    批量下载知乎某个问题下指定数量答案的图片,代码较为简陋

    python对知乎上的问题回答的爬取(可用)

    总之,Python爬虫实现对知乎问题回答的抓取,涉及到了HTTP请求、HTML解析、数据提取、异常处理等多个环节,是一个典型的网络数据获取和处理的过程。通过这个项目,你可以深入学习Python在网络爬虫领域的应用,并提升...

    知乎问题回答.md

    知乎问题回答

    知乎爬虫:爬取知乎某一问题下的所有回答(回答数小于800左右)

    知乎爬虫:爬取知乎某一问题下的所有回答(回答数小于800左右) 基本思路 将question id 进行遍历,存入文件,对问题进行过滤后爬取需要的回答 目前项目爬取的机制是将滚动条拉取到页面底端,然后一次性抓取所有的...

    从零开始做运营:知乎互联网领域回答者、积分忠诚度计划、网.pptx

    "从零开始做运营:知乎互联网领域回答者、积分忠诚度计划、网" 本书主要介绍了知乎互联网领域中的运营知识,其中重点讲解了如何从零开始做好运营。作者介绍了知乎互联网领域的发展历程和现状,并详细阐述了知乎...

    Python应用实战-Python爬取、采集&可视化知乎问题的回答

    在本实践教程中,我们将深入探讨如何利用Python进行网络数据的爬取、采集与可视化,特别是在处理知乎问题的回答上。Python作为一门强大的编程语言,因其简洁的语法和丰富的库支持,成为了网络爬虫领域的首选工具。...

    爬取豆瓣电影 Top250、爬取知乎问题和回答

    ### 知识点二:爬取知乎问题和回答 #### 2.1 技术栈介绍 - **Requests库**:用于发起HTTP请求。 - **BeautifulSoup库**:用于解析HTML文档。 - **正则表达式(re库)**:辅助提取特定格式的信息。 #### 2.2 实现...

    Python知乎回答多线程爬虫

    ### 知乎回答多线程爬虫 **模式** 1. 单问题爬取模式 2. 相似问题爬取模式 **输出** ​ **文件名** 问题题目 ​ **文件内容** 1. 问题 2. 问题id 3. 回答者昵称 4. 回答者空间id 5. 回答者id 6. 回答者内容 ...

    知乎图片下载器(爬取问题下的图片).zip

    用户在回答问题时经常上传图片以辅助说明,这些图片对于研究者或爱好者来说具有很高的价值。传统的手动下载方式效率低下,而“知乎图片下载器”则能高效地完成这项任务。 使用这个工具时,用户需要有知乎问题的URL...

    zhihu-answers:下载知乎用户的回答

    zhihu-answers简介fork 自 的 的winter的这次commit版本只允许下载备份自己的答案,我这个版本在它的基础上进行了简单的修改,支持下载其他用户的答案用法打开Chrome -&gt; 进入知乎个人主页 -&gt; 审查元素 -&gt; Console -&gt;...

    萧井陌知乎回答备份

    萧井陌知乎回答备份,很有用

    仿知乎问题系统php+html模版

    综上所述,这个"仿知乎问题系统php+html模版"是一个适合PHP初学者的实践项目,涵盖了Web开发中的基本要素,包括后端数据处理(PHP)、前端展示(HTML/CSS/JS)以及用户互动功能(如提问、回答和上传)。通过学习和...

    ChatGPT机器回答与知乎人工回答的比较-施亦龙.pdf

    知乎人工回答则具有高质量和可靠性,但存在信息不全和主观性等问题。 在内容分析方面,ChatGPT机器回答具有外部特征、内部特征、情感与认知等方面的特点,但也存在回答Quality的差异和虚假信息的风险。知乎人工回答...

    知乎爬虫(知乎网站爬取工具,爬取知乎网页内容)

    例如,从一个问题的页面出发,可以爬取问题的描述、回答、评论,以及回答者的个人信息。 “知乎爬虫”这一标签表明这是一个专门针对知乎设计的爬虫,它可能有特定的适配和优化,以应对知乎网站特有的数据结构和反爬...

    42.知乎助手 Setup 2.3.0(回答、问题下载).exe

    知乎助手是一款可以将知乎上内容转换为Epub电子书格式的工具。它的开发思维出发点主要是为了帮助知乎用户,提供更加方便的阅读方式及文章收藏保存,即便是知乎上的文章删除了,大家收藏的内容依旧存在。软件由作者@...

    Python爬取知乎回答中的文本及图片

    在爬取知乎时,通常会通过问题ID来定位特定问题的页面。 接着,我们需要解析返回的网页内容。BeautifulSoup或lxml库是HTML解析的利器,它们可以解析HTML文档,提取我们需要的数据,比如回答的文本、用户信息以及...

    知乎问题回答信息爬取.zip

    在本项目中,"知乎问题回答信息爬取.zip" 是一个包含了使用Python编写的爬虫项目的压缩包。这个项目的主要目标是从知乎网站上抓取问题及其相关回答的信息,以供数据分析或研究使用。以下是该项目涉及的一些核心知识...

    网站、APP、社交网站真实头像打包2000个.zip

    5. **数据分析**:在进行用户行为分析时,真实头像可以提供更接近现实的环境,帮助研究者理解用户在不同头像下的行为模式。 6. **营销与广告**:在制作模拟用户反馈或展示用户故事的营销材料时,真实头像可以增强...

    python知乎回答多线程爬虫

    ### 知乎回答多线程爬虫 **模式** 1. 单问题爬取模式 2. 相似问题爬取模式 **输出** ​ **文件名** 问题题目 ​ **文件内容** 1. 问题 2. 问题id 3. 回答者昵称 4. 回答者空间id 5. 回答者id 6. 回答者内容 ...

Global site tag (gtag.js) - Google Analytics