关闭

超简单的网络爬虫,附个自动下载电影种子的demo

标签: 网络爬虫
1376人阅读 评论(0) 收藏 举报
分类:

这个参考了别人做的demo,原作者忘记了不好意思,在他的基础上做了点东西。恩原理很简单,就是解析你要访问url的页面,所以用到了jsoup这个解析jar包。

下面咱来看看核心代码

        List<LinkTypeData> datas = new ArrayList<LinkTypeData>();
        LinkTypeData data = null;
        try
        {
            /**
             * 解析rule
             */
            String url = rule.getUrl();
            String[] params = rule.getParams();
            String[] values = rule.getValues();
            String resultTagName = rule.getResultTagName();
            int type = rule.getType();
            int requestType = rule.getRequestMoethod();

            Connection conn = Jsoup.connect(url);
            // 设置查询参数

            if (params != null)
            {
                for (int i = 0; i < params.length; i++)
                {
                    conn.data(params[i], values[i]);
                }
            }

            // 这就是核心 Document ,返回页面的html
            Document doc = null;
            switch (requestType)
            {
            case Rule.GET:
                doc = conn.timeout(100000).get();
                break;
            case Rule.POST:
                doc = conn.timeout(100000).post();
                break;
            }

            //处理返回数据
            Elements results = new Elements();
            switch (type)
            {
            case Rule.CLASS:
                results = doc.getElementsByClass(resultTagName);
                break;
            case Rule.ID:
                Element result = doc.getElementById(resultTagName);
                results.add(result);
                break;
            case Rule.SELECTION:
                results = doc.select(resultTagName);
                break;
            default:
                //当resultTagName为空时默认去body标签
                if (TextUtil.isEmpty(resultTagName))
                {
                    results = doc.getElementsByTag("body");
                }
            }

            for (Element result : results)
            {
                Elements links = result.getElementsByTag("a");

                for (Element link : links)
                {
                    //必要的筛选
                    String linkHref = link.attr("href");
                    String linkText = link.text();

                    data = new LinkTypeData();
                    data.setLinkHref(linkHref);
                    data.setLinkText(linkText);

                    datas.add(data);
                }
            }

        } catch (IOException e)
        {
            e.printStackTrace();
        }

就是这么简单,下面附个测试,百度搜索的那个前几天还可以,现在又抽了我懒的解析了,所以附一个百度新闻的搜索测试

    /**
     * 测试百度新闻
     */
    @org.junit.Test  
    public void getDatasByCssQueryUserBaidu()  
    {  
        Rule rule = new Rule("http://news.baidu.com/ns",  
                new String[] { "word" }, new String[] { "魔力宝贝" },  null, -1, Rule.GET);  
        List<LinkTypeData> extracts = ExtractService.extract(rule);  
        printf(extracts);  
    }

哈哈,关键的没给,下电影种子的test,测试没啥,只要爬3层就爬到了,主要这个电影网好啊,哈哈,我一直在这下电影,正规电影哈,有时电影院没下这网上就有了,国内外都有,更新很快,不贴防止被封了,喜欢的可以下来看看。喜欢的朋友可以自己做个定时任务,很简单,就可以不停下载啦。

下载请点这里

备用连接地址
http://download.csdn.net/detail/ilovexiaou/9619824

0
0
查看评论

[爬虫] 自动下载哨兵的精轨数据|爬取链接并下载文件

Python爬取链接并下载链接的文件,以下载哨兵的精轨数据为例。 涉及内容:url参数解析,urllib获取网页,获得下载链接,urllib下载文件。 Python:获取日期的前一天,字符串中指定位置加入指定字符。
  • summer_dew
  • summer_dew
  • 2018-01-13 20:04
  • 119

Python爬虫学习笔记——自动爬取XX网站,下载种子,封面,番号

今天爬取1024核工厂的网站,一开始不设置Header的话,直接返回403,拒接访问,所以必须加上头。 另外在Accept-Encoding这里设置为 identity 的话,本意是设置不允许压缩文件,但是再用postman测试时,发现网站总是返回gzip压缩后的文件。本来以为需要解压的,...
  • zcy0xy
  • zcy0xy
  • 2016-11-30 15:03
  • 4220

利用python 爬虫下载那啥种子

直接上代码 #coding=utf-8 import requests import re import os import threading user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' heade...
  • qq1124794084
  • qq1124794084
  • 2016-11-24 20:43
  • 2981

bt种子爬虫程序和种子解析(大蟒蛇语言编写)

最近亲眼看到快播被大批警察包围,感觉到快播注定要关闭很多东西,很多宅男宅女们又要寂寞了,于是乎,疯狂的研究DHT网络技术 看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码: #encoding: utf-8 import socket from hashlib import sha1...
  • u014649204
  • u014649204
  • 2014-04-29 11:11
  • 2585

python3爬取torrent种子链接

本文环境是python3,采用的是urllib,BeautifulSoup搭建。         说下思路,这个项目分为管理器,url管理器,下载器,解析器,html文件生产器。各司其职,在管理器进行调度。最后将解析到的种子连接生产html文件显示。当然也可以...
  • u013692888
  • u013692888
  • 2016-09-25 12:10
  • 6023

爬虫种子三种调度方法记录

在爬虫学习的过程中,总会遇到种子调度的问题。种子该何时调度,调度周期该如何设置等等问题。下面仅提供人为设定调度周期的情况下种子调度优化的一些方案。 随机撒点法(最简单的办法): 随机撒点,我们把所有的种子拿到Redis中,保存为一个队列,并对每个种子随机设置一个上次更新时间,循环队列,根据调度...
  • yanxiaobo1991
  • yanxiaobo1991
  • 2018-01-18 16:36
  • 57

Python爬虫-用迅雷下载电影

前段时间用Python写了一个爬取豆瓣电影的脚本,可以把评分高于8.0和评价人数高于10w人的电影保存下来,保存的格式是json的, 然后熬夜用c#写了一个界面软件可以显示和读取电影信息, 然后打算加一个一键下载功能,所以现在的基本流程就是, 读取豆瓣电影 ->json数...
  • u010650281
  • u010650281
  • 2016-04-25 16:08
  • 7659

python爬虫实现下载电影天堂电影

这段时间一直在学习Python爬虫,为了加强学习过程,也为了以后的学习留下点痕迹,特此记录下整篇爬虫的过程。以电影天堂为例,提取出当前界面的最新电影。 # -*- coding:utf-8 -*- import urllib2 import os import re url = 'htt...
  • huangzhiyuan111
  • huangzhiyuan111
  • 2016-09-26 21:20
  • 2264

爬虫学习(一)---爬取电影天堂下载链接

主要利用了python3.5 requests,BeautifulSoup,eventlet三个库来实现。1、解析单个电影的详细页面 例如这个网址:http://www.dy2018.com/i/98477.html。要获取这个电影的影片名和下载地址。我们先打开这个网页来分析下这个这个网页的源...
  • hjxzb
  • hjxzb
  • 2017-10-12 21:19
  • 2466

超简单的网络爬虫,附个自动下载电影种子的demo

这个参考了别人做的demo,原作者忘记了不好意思,在他的基础上做了点东西。恩原理很简单,就是解析你要访问url的页面,所以用到了jsoup这个解析jar包。下面咱来看看核心代码 List<LinkTypeData> datas = new ArrayList<Link...
  • ilovexiaou
  • ilovexiaou
  • 2016-09-02 11:20
  • 1376
    个人资料
    • 访问:8347次
    • 积分:180
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类