悠哉杂学 - 爬虫
type: channel
link: https://uinit.cn/index.php/tag/爬虫/
items: 值得收藏的6个爬虫开源项目
items: 用 Java 爬小姐姐图片，这个厉害了。。。

值得收藏的6个爬虫开源项目
type: item
date: 2021-10-22T16:28:05+08:00
description: 今天盘点 6 个爬虫开源项目，它们可以帮你爬天爬地怕空气，爬微博、爬B站、爬知乎、爬*站。[scode type="share"]提前声明，切勿使用这些项目从事非法商业活动，仅用于用于科研学习图片[/scode]01微博爬虫这个开源项目程序可以持续爬取一个或多个新浪微博用户（如李文di、无疫烦）的数据，并将结果信息写入文件或数据库。写入信息几乎包括用户微博的所有数据，包括用户信息和微博信息两大类。地址：https://github.com/dataabc/weiboSpider 爬取结果可写入文件和数据库，具体的写入文件类型如下：txt文件csv文件json文件MySQL数据库MongoDB数据库SQLite数据库同时支持下载微博中的图片和视频，具体的可下载文件如下：原创微博中的原始图片转发微博中的原始图片原创微博中的视频转发微博中的视频原创微博Live Photo中的视频转发微博Live Photo中的视频首先需要修改 config.json 文件，然后爬取，程序会自动生成一个 weibo 文件夹，我们以后爬取的所有微博都被存储在这里。然后程序在该文件夹下生成一个名为"微博名字"的文件夹，明星的所有微博爬取结果都在这里。文件夹里包含一个csv文件、一个txt文件、一个json文件、一个img文件夹和一个video文件夹，img文件夹用来存储下载到的图片，video文件夹用来存储下载到的视频。如果你设置了保存数据库功能，这些信息也会保存在数据库里，数据库设置见设置数据库部分。02Python爬虫教程Python爬虫教程系列、从 0 到 1 学习 Python 爬虫，包括浏览器抓包，手机 APP 抓包，如 fiddler、mitmproxy，各种爬虫涉及的模块的使用，如：requests、beautifulSoup、selenium、appium、scrapy 等，以及验证码识别，MySQL，MongoDB 数据库的 Python 使用，多线程多进程爬虫的使用，css 爬虫加密逆向破解，JS爬虫逆向，分布式爬虫，爬虫项目实战实例等。地址：https://github.com/wistbean/learn_python3_spider 03爬虫集合这个开源项目收集了各种爬虫 ，包括 Blibli、博客园、百度百科、北邮人、百度云网盘、Boss、贝壳、豆瓣、CSDN、抖音、GitHub、京东、知乎、拉钩、链家、微信公众号、网易云等等，你能想到的国内外网站爬虫，都可以先来这里看看有没有开源的爬虫。地址：https://github.com/facert/awesome-spider 04智能爬虫平台这个开源平台以流程图的方式定义爬虫，是一个高度灵活可配置的爬虫平台。你可以在该平台配置各种爬虫。地址：https://gitee.com/ssssssss-team/spider-flow 接下来以流程图的方式，开始配置一些变量和参数，点开始就能爬出你想要的数据。05Java爬虫Spiderman 是一个Java开源Web数据抽取工具，它能够收集指定的Web页面并从这些页面中提取有用的数据。Spiderman主要是运用了像XPath，正则表达式等这些技术来实数据抽取。地址：https://gitee.com/l-weiwei/spiderman 06爬虫大全这个开源项目包含多种网站、电商数据爬虫。包含：淘宝商品、微信公众号、大众点评、招聘网站、闲鱼、阿里任务、scrapy博客园、微博、百度贴吧、豆瓣电影、包图网、全景网、豆瓣音乐、某省药监局、搜狐新闻、机器学习文本采集、fofa资产采集、汽车之家、国家统计局、百度关键词收录数、蜘蛛泛目录、今日头条、豆瓣影评️️️。地址：https://gitee.com/AJay13/ECommerceCrawlers

用 Java 爬小姐姐图片，这个厉害了。。。
type: item
date: 2021-09-09T10:03:31+08:00
description: [scode type="share"]来源：blog.csdn.net/qq_35402412/article/details/113627625[/scode]目的爬取搜狗图片上千张美女图片并下载到本地准备工作爬取地址：https://pic.sogou.com/pics?query=%E7%BE%8E%E5%A5%B3分析打开上面的地址，按F12开发者工具 - NetWork - XHR - 页面往下滑动XHR栏出现请求信息如下：Request URL ：https://pic.sogou.com/napi/pc/searchList?mode=1&start=48&xml_len=48&query=%E7%BE%8E%E5%A5%B3 分析这段请求URL的主要几个参数：start=48 表示从第48张图片开始检索xml_len=48 从地48张往后获取48张图片query=？搜索关键词（例：美女，这里浏览器自动做了转码，不影响我们使用）点击Respose，找个JSON格式器辅助过去看看。JSON格式：https://www.bejson.com/分析Respose返回的信息，可以发现我们想要的图片地址放在 picUrl里，思路通过以上分析，不难实现下载方法，思路如下：设置URL请求参数访问URL请求，获取图片地址图片地址存入List遍历List，使用线程池下载到本地代码SougouImgProcessor.java 爬取图片类import com.alibaba.fastjson.JSONObject; import us.codecraft.webmagic.utils.HttpClientUtils; import victor.chang.crawler.pipeline.SougouImgPipeline; import java.util.ArrayList; import java.util.List; /** * A simple PageProcessor. * @author code4crafter@gmail.com * @since 0.1.0 */ public class SougouImgProcessor { private String url; private SougouImgPipeline pipeline; private List<JSONObject> dataList; private List<String> urlList; private String word; public SougouImgProcessor(String url,String word) { this.url = url; this.word = word; this.pipeline = new SougouImgPipeline(); this.dataList = new ArrayList<>(); this.urlList = new ArrayList<>(); } public void process(int idx, int size) { String res = HttpClientUtils.get(String.format(this.url, idx, size, this.word)); JSONObject object = JSONObject.parseObject(res); List<JSONObject> items = (List<JSONObject>)((JSONObject)object.get("data")).get("items"); for(JSONObject item : items){ this.urlList.add(item.getString("picUrl")); } this.dataList.addAll(items); } // 下载 public void pipelineData(){ // 多线程 pipeline.processSync(this.urlList, this.word); } public static void main(String[] args) { String url = "https://pic.sogou.com/napi/pc/searchList?mode=1&start=%s&xml_len=%s&query=%s"; SougouImgProcessor processor = new SougouImgProcessor(url,"美女"); int start = 0, size = 50, limit = 1000; // 定义爬取开始索引、每次爬取数量、总共爬…