爬虫,爬取zhi乎回答图片,来玩呀
本帖最后由 苏哲哲哲 于 2020-6-12 19:17 编辑{:1_905:}
package paImg;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
/**
* Created with IntelliJ IDEA.
*/
public class TestMain3 {
public static void main(String[] args) throws IOException {
//下载图片网址自己更换链接
String url1 = "https://www.zhihu.com/question/50734809";
Connection connection = Jsoup.connect(url1);
//下载到本地地址
String filePath = "D://自己填写本地下载地址";
File file = new File(filePath);
System.out.println(filePath+"创建:"+file.mkdirs());
Document document = connection.get();//获取整个页面的对象
Element questionMain = document.selectFirst("");
Element QuestionAnswersanswer = questionMain.selectFirst("");
Elements bigDivs = QuestionAnswersanswer.select("");//找寻所有的class="List-item"
int count = 0;//总共下载了多少
for (Element e : bigDivs){
Element answer =e.selectFirst("");
String names = answer.attr("data-zop");
int left = names.indexOf(":");
int right = names.indexOf(",");
String name = names.substring((left+2),(right-1));//获取作者
Element e1 = e.selectFirst("");
Elements figures = e1.select("figure");//获取figure标题群
int a = 0;//每一个用户一共多少张
for (Element ele :figures){
a++;
Element elementImg = ele.selectFirst("img");
String src = elementImg.attr("src");
URL url = new URL(src);
InputStream ips = url.openStream();
FileOutputStream fos = new FileOutputStream(filePath+"//"+name+a+".jpg");
System.out.println(name+a);
byte[] b = new byte;
int i = ips.read(b);
while (i != -1){
fos.write(b,0,i);
fos.flush();
i = ips.read(b);
}
fos.close();
ips.close();
count++;
System.out.println("下载"+count+"个了");
}
}
}
}
有的问题不可以,应该是格式不一样把,大部分都还行
但是有个缺陷,就是只可以爬取前两名回答的答案图片,凑合用吧,, 有没有会的老哥,说一下怎么爬取所有回答的图片????
是不是还得看什么请求头什么什么的
里面还需要个jsoup jar包,可以自己去maven下载。 正在找这类代码 seedhk 发表于 2020-6-16 13:40
正在找这类代码
只可以爬取前两个回答。。。 支持大佬 苏哲哲哲 发表于 2020-6-17 15:34
只可以爬取前两个回答。。。
主要是想学习思想和思路 seedhk 发表于 2020-6-19 15:17
主要是想学习思想和思路
你看一下怎么下载其他回答的,我找不到,好像很复杂 cookie什么的 苏哲哲哲 发表于 2020-6-22 11:59
你看一下怎么下载其他回答的,我找不到,好像很复杂 cookie什么的
我去研究下试试 zty521 发表于 2020-6-29 21:02
这个用到什么软件
java语言 写的软件的话idea eclipse 记事本 都可以
页:
[1]