精华内容
下载资源
问答
  • 易语言爬虫源码

    2018-03-25 11:55:48
    开发的易语言爬虫源码,效率一般性,代码需要大家精简。
  • 易语言爬虫源码
  • 相信学过一些编程的网友自然对爬虫采集是不会陌生了,简单的爬虫采集,我这边就不介绍了,我这边拿了一个资源采集网站的做个例子,然后当你看到这种资源网站,你是不是觉得,这个网站在玩人家啊,连个地址都给加密了...

    相信学过一些编程的网友自然对爬虫采集是不会陌生了,简单的爬虫采集,我这边就不介绍了,我这边拿了一个资源采集网站的做个例子,然后当你看到这种资源网站,你是不是觉得,这个网站在玩人家啊,连个地址都给加密了

     

     

    我拿其他正常资源网站的,基本上都是直接给出m3u8地址的,怎么这个网站还给加密了,所以网站上方直接打出一些字眼,需要通过这个网站播放器,加上这些XMOTA2NTcwMDAwXzE= 这种地址后缀的,才能播放地址,然而我们所需要的是m3u8地址,这种是直接可以下载的

     

     

    所以我这边用的是易语言的水星浏览器进行抓地址,把m3u8地址抓取出来,放到ck播放器中就可以进行播放视频了,而且你还可以下载这个视频

     

     

    最终,我们大概可以看到,整个软件制作完成的情况是这样的,还有一些搜索影片的功能啊,影片的预览图和简介!

     

     

    今天这篇文章就是给一个制作的思路而已,当然爬虫采集也有其他的制作想法,比如把2345网站的采集运用到软件,把界面美化一下

     

     

    当然有什么不理解的,可以QQ联系962508652

    展开全文
  • 易语言-易语言爬虫下载图片源码
  • 我网页看的代码是正常的,在易语言访问就看不到网页上的代码是什么原因
  • 福利美图爬虫下载器
  • 易语言源码批量采集下载,简单通过易语言实现网页采集。
  • 分享31个实用的网页爬虫制作方法,以31个网站的数据爪取过程为例演示。
  • 易语言网页采集教程

    2014-05-13 16:44:52
    易语言网页采集教程 详细讲解网络采集技术
  • .版本 2 .支持库 spec .程序集 程序集1 .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 .局部变量 i, 整数型 .局部变量 源代码, 文本型 .局部变量 详细页地址, 文本型 .局部变量 目的地址, .......................
    .版本 2
    .支持库 spec
    
    .程序集 程序集1
    
    .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
    .局部变量 i, 整数型
    .局部变量 源代码, 文本型
    .局部变量 详细页地址, 文本型
    .局部变量 目的地址, 文本型, , "0"
    .局部变量 标题, 文本型
    .局部变量 j, 整数型
    .局部变量 导演, 文本型
    .局部变量 主要演员, 文本型
    .局部变量 类型, 文本型
    .局部变量 地区, 文本型
    .局部变量 剧情介绍, 文本型
    .局部变量 播放链接, 文本型, , "0"
    .局部变量 播放链接汇总, 文本型
    .局部变量 k, 整数型
    .局部变量 封面地址, 文本型
    .局部变量 返回信息, 文本型
    .局部变量 总页数, 整数型
    .局部变量 当前页, 文本型
    
    总页数 = 431
    ' 标准输出 (1, “开始页数:”)
    ' 当前页 = 标准输入 ()
    ' i = 到整数 (当前页)
    .计次循环首 (总页数, i)
        写到文件 (取运行目录 () + “/confuig.ini”, 到字节集 (“当前页:” + 到文本 (i)))
        源代码 = 网页_访问S (“http://www.okzy.me/?m=vod-index-pg-” + 到文本 (i) + “.html”, 0, , , )
    
        文本_取中间_批量 (源代码, #目的地址1, #目的地址2, 目的地址, , , )
    
        .计次循环首 (取数组成员数 (目的地址), j)
    
            详细页地址 = 网页_访问S (“http://www.okzy.me” + 目的地址 [j], 0, , , )
            ' 调试输出 (详细页地址)
            标题 = 文本_取出中间文本 (详细页地址, #标题1, #标题2, , )
    
            导演 = 文本_取出中间文本 (详细页地址, #导演1, #导演2, , )
    
            主要演员 = 文本_取出中间文本 (详细页地址, #主演1, #主演2, )
    
            类型 = 文本_取出中间文本 (详细页地址, #类型1, #类型2, )
    
            地区 = 文本_取出中间文本 (详细页地址, #地区1, #地区2, )
    
            剧情介绍 = 文本_取出中间文本 (详细页地址, #剧情介绍1, #剧情介绍2, )
    
            ' 播放链接 = 文本_取出中间文本 (详细页地址, #影片地址1, #影片地址2, )
    
            封面地址 = 文本_取出中间文本 (详细页地址, #封面1, #封面2, )
    
    
            调试输出 (文本_取出中间文本 (详细页地址, #KuyunBox1, #KuyumBox2, ))
            文本_取中间_批量 (文本_取出中间文本 (详细页地址, #KuyunBox1, #KuyumBox2, ), #影片地址1, #影片地址2, 播放链接, )
    
            播放链接汇总 = “”
            .计次循环首 (取数组成员数 (播放链接), k)
    
    
                播放链接汇总 = 播放链接汇总 + “<a href=” + 播放链接 [k] + “>” + 播放链接 [k] + “</a> <br />”
    
                ' 调试输出 (“名称:” + 标题 + “链接:” + 播放链接 [k])
            .计次循环尾 ()
    
            
    
    
    
            标准输出 (1, #换行符 + “电影名称:” + 标题 + #换行符 + “导演:” + 导演 + #换行符 + “主要演员:” + 主要演员 + #换行符 + “类型:” + 类型 + “地区:” + 地区 + #换行符 + “剧情介绍:” + 封面地址 + #换行符  + #换行符)
    
    
    
    
            调试输出 (标题)
            调试输出 (导演)
            调试输出 (主要演员)
            调试输出 (类型)
            调试输出 (地区)
            调试输出 (剧情介绍)
            调试输出 (封面地址)
            调试输出 (播放链接汇总)
            i = i + 1
        .计次循环尾 ()
    
    
    .计次循环尾 ()
    返回 (0)  ' 可以根据您的需要返回任意数值
    
    

     

     

    展开全文
  • 这是新浪微博爬虫,采用python+selenium实现。 免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但是至少能运行。同时rar中包括源码及爬取的示例。 参考我的文章: ...[python爬虫] Selenium爬取新浪微博内容及用户...
  • 易语言开发小说网站源码,易语言开发小说网站源码,易语言开发小说网站源码。
  • 百度文库PDF爬虫

    2018-07-04 23:47:02
    一个基于Python的百度文库爬虫, 主要实现文库pdf文件的下载。
  • 有道词典爬虫翻译源码,支持加盐翻译,破解js中使用MD5加盐加密算法,支持中英文翻译
  • 推特爬虫工具开发 这篇博客将从头到尾展示关于如何实现推特爬虫。 由于推特其设置的请求频率较低且反爬力度较高,无法使用Scrapy来实现较高效率的爬取,因此选择用Selenium作为爬取模块来进行爬虫主体的构建。 程序...
  • 数据提取 结构化数据: json,xml ...结构化数据处理的方式有:jsonpath,xpath,转换python类型处理,bs4 非结构化数据处理方式有:正则表达式,xpath,bs4 1.用json模块提取数据 类文件对象的理解: 具有read()或者write()...

    数据提取

    结构化数据: json,xml
    非结构化数据:Html,字符串
    结构化数据处理的方式有:jsonpath,xpath,转换python类型处理,bs4
    非结构化数据处理方式有:正则表达式,xpath,bs4

    1.用json模块提取数据

    在这里插入图片描述
    类文件对象的理解:

    具有read()或者write()方法的对象就是类文件对象,比如f = open(“a.txt”,”r”) f就是类文件对象

    具体使用方法:

    mydict = {
            "name": "孙威",
            "age": 16
        }
    #json.dumps 实现python类型转化为json字符串
    #indent实现换行和空格
    #ensure_ascii=False实现让中文写入的时候保持为中文
    json_str = json.dumps(mydict,indent=2,ensure_ascii=False)
    
    #json.loads 实现json字符串转化为python的数据类型
    my_dict = json.loads(json_str)
    
    #json.dump 实现把python类型写入类文件对象
    with open("temp.txt","w") as f:
        json.dump(mydict,f,ensure_ascii=False,indent=2)
    
    # json.load 实现类文件对象中的json字符串转化为python类型
    with open("temp.txt","r") as f:
        my_dict = json.load(f)
    # 或者my_dict = json.load(open("temp.txt","r"))
    

    jsonpath模块提取数据

    jsonpath用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。

    jsonpath语法描述
    $根节点
    @现行节点
    . or []子节点
    . .不管位置,选取所有符合条件的条件
    *匹配所有元素节点
    []迭代器标识,可以在里面做简单的迭代操作,如数组下标,根据内容选值
    [,]支持迭代器中做多选
    ?()支持过滤操作
    ()支持表达式计算
    -不支持去父节点
    -不支持属性访问
    -不支持分组
    # 语法使用示例
    data = { "store": {
        "book": [ 
          { "category": "reference",
            "author": "Nigel Rees",
            "title": "Sayings of the Century",
            "price": 8.95
          },
          { "category": "fiction",
            "author": "Evelyn Waugh",
            "title": "Sword of Honour",
            "price": 12.99
          },
          { "category": "fiction",
            "author": "Herman Melville",
            "title": "Moby Dick",
            "isbn": "0-553-21311-3",
            "price": 8.99
          },
          { "category": "fiction",
            "author": "J. R. R. Tolkien",
            "title": "The Lord of the Rings",
            "isbn": "0-395-19395-8",
            "price": 22.99
          }
        ],
        "bicycle": {
          "color": "red",
          "price": 19.95
        }
      }
    }
    # 转换成json格式的数据
    data_dict = json.loads(data)
    # 解析数据,返回的是所有的author
    result_list = jsonpath.jsonpath(data_dict, '$..author')
    

    语法使用示例:

    jsonpathresult
    $.store.book[*].authorstore中的所有的book的作者
    $..author所有的作者
    $.store.*store下的所有的元素
    $.store..pricestore中的所有的内容的价格
    $..book[2]第三本书
    $..book[(@.length-1)] | $..book[-1:]最后一本书
    $..book[0,1] | $..book[:2]前两本书
    $..book[?(@.isbn)]获取有isbn的所有数
    $..book[?(@.price<10)]获取价格大于10的所有的书
    $..*获取所有的数据

    2.正则表达式提取数据

    3.xpath语法

    XPath (XML Path Language) 是一门在 HTML\XML 文档中查找信息的语言,可用来在 HTML\XML 文档中对元素和属性进行遍历。
    xpath语法

    表达式描述
    nodename选中该元素。
    /从根节点选取、或者是元素和元素间的过渡。
    //从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
    .选取当前节点。
    ..选取当前节点的父节点。
    @选取属性。
    text()选取文本。

    实例

    <bookstore>
    
    <book>
      <title lang="eng">Harry Potter</title>
      <price>29.99</price>
    </book>
    
    <book>
      <title lang="eng">Learning XML</title>
      <price>39.95</price>
    </book>
    
    </bookstore>
    
    路径表达式结果
    bookstore选择bookstore元素。
    /bookstore选取根元素 bookstore。注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
    bookstore/book选取属于 bookstore 的子元素的所有 book 元素。
    //book选取所有 book 子元素,而不管它们在文档中的位置。
    bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管
    //book/title/@lang选择所有的book下面的title中的lang属性的值。
    //book/title/text()选择所有的book下面的title的文本。
    //title[@lang=“eng”]选择lang属性值为eng的所有title元素
    /bookstore/book[1]选取属于 bookstore 子元素的第一个 book 元素。
    /bookstore/book[last()]选取属于 bookstore 子元素的最后一个 book 元素。
    /bookstore/book[last()-1]选取属于 bookstore 子元素的倒数第二个 book 元素。
    /bookstore/book[position()>1]选择bookstore下面的book元素,从第二个开始选择
    //book/title[text()=‘Harry Potter’]选择所有book下的title元素,仅仅选择文本为Harry Potter的title元素
    /bookstore/book[price>35.00]/title选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。
    /bookstore/*选取 bookstore 元素的所有子元素。
    //*选取文档中的所有元素。
    //title[@*]选取所有带有属性的 title 元素。

    注意点: 在xpath中,第一个元素的位置是1,最后一个元素的位置是last(),倒数第二个是last()-1

    4.lxml模块

    lxml是一款高性能的 Python HTML/XML 解析器,我们可以利用XPath,来快速的定位特定元素以及获取节点信息

    text = ''' <div> <ul> 
            <li class="item-1"><a href="link1.html">first item</a></li> 
            <li class="item-1"><a href="link2.html">second item</a></li> 
            <li class="item-inactive"><a href="link3.html">third item</a></li> 
            <li class="item-1"><a href="link4.html">fourth item</a></li> 
            <li class="item-0"><a href="link5.html">fifth item</a> 
            </ul> </div> '''
    # 导入lxml 的 etree 库
    from lxml import etree
    # 利用etree.HTML,将字符串转化为Element对象,Element对象具有xpath的方法
    html = etree.HTML(text) 
    #获取href的列表和title的列表
    href_list = html.xpath("//li[@class='item-1']/a/@href")
    title_list = html.xpath("//li[@class='item-1']/a/text()")
    
    

    我们取到属性,或者是文本的时候,返回字符串 但是如果我们取到的是一个节点,返回的是element对象,可以继续使用xpath方法

    5.BeautifulSoup4

    和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。

    html = """
    <html><head><title>The Dormouse's story</title></head>
    <body>
    <p class="title" name="dromouse"><b>The Dormouse's story</b></p>
    <p class="story">Once upon a time there were three little sisters; and their names were
    <a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
    <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
    <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
    and they lived at the bottom of a well.</p>
    <p class="story">...</p>
    """
    # 导入 bs4 库
    from bs4 import BeautifulSoup
    #创建 Beautiful Soup 对象
    soup = BeautifulSoup(html)
    
    # 传字符串
    print soup.find_all('a')
    #[<a class="sister" href="http://example.com/elsie" id="link1"><!-- Elsie --></a>, <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>, <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]
    
    # 传正则表达式
    soup.find_all(re.compile("^b"))
    
    # 传列表
    
    # keyword 参数
    soup.find_all(class = "sister")
    
    # text 参数
    soup.find_all(text="Elsie")
    
    # (1)通过标签选择器查找
    print soup.select('title') 
    
    # (2)通过类选择器查找
    print soup.select('.sister')
    
    # (3)通过 id 选择器查找
    print soup.select('#link1')
    
    # (4)层级选择器 查找
    print soup.select('p #link1')
    
    # (5)通过属性选择器查找
    print soup.select('a[class="sister"]')
    
    # (6) 获取文本内容 get_text()
    for title in soup.select('title'):
        print title.get_text()
    
    # (7) 获取属性 get('属性的名字')
    print soup.select('a')[0].get('href')
    

    find_all(name, attrs, recursive, text, **kwargs)
    查找所有名字为 name 的标签
    CSS选择器
    通过标签选择器查找

    展开全文
  • 美图录爬虫辣女神爬虫优化版源码,编译即用,附带成品。
  • 爬虫遇到js跳转反爬

    2021-06-17 22:05:43
    爬一个网站时,发现如果从来没打开过的链接使用request.get得到的内容和浏览器打开的不一样,研究了下是因为做了js跳转反爬。但是为什么浏览器打开了一次之后就能正常get到需要的内容呢?
  • 爬虫隐藏自身的ip并伪装成浏览器

    千次阅读 2018-02-27 10:33:53
    爬虫隐藏自身的ip并伪装成浏览器 1、使用代理访问 就是说使用代理Ip,代理ip访问url之后,再将网页的内容在传给本机的ip; ''' 使用代理访问 ''' import urllib.request import random url = '...

    爬虫隐藏自身的ip并伪装成浏览器

    1、使用代理访问

    就是说使用代理Ip,代理ip访问url之后,再将网页的内容在传给本机的ip;

    '''
    使用代理访问
    '''
    import urllib.request
    import random
    
    url = 'http://www.whatismyip.com.tw'
    
    #创建一个iplist,随机使用ip
    iplist = ['219.223.251.173:3128','203.174.112.13:3128','122.72.18.34:80']
    #创建一个代理opener
    proxy_support = urllib.request.ProxyHandler({'http':iplist[random.randint(0, len(iplist))]})
    opener = urllib.request.build_opener(proxy_support)
    
    #添加浏览器的伪装头部
    opener.addheaders = [('User-Agent','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0')]
    
    #使用代理opener访问url
    response = opener.open(url)
    
    
    html = response.read().decode('utf-8')
    print(html)

    2、伪装成浏览器

    隐藏————伪装成浏览器
    两种方法:
    1、通过Request的headers参数修改
    2、通过Request.add_header()方法修改
    在User-Agent中替换成浏览器的User-Agent

    '''
    import urllib.request
    
    url = r'http://douban.com'
    headers = {'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0'}
    
    #urllib.request.Request()用于向服务端发送请求,就如 http 协议客户端向服务端发送请求 POST
    #添加了一个头部,伪装成浏览器,此时的url并不是一个裸露的url,而是具有header头部的url
    req = urllib.request.Request(url=url, headers=headers)
    
    #urllib.request.urlopen()则相当于服务器返回的响应,返回的是一个request类的一个对象, GET
    # 类似于一个文件对象,可以进行open()操作获取内容
    res = urllib.request.urlopen(req)
    
    html = res.read().decode('utf-8')
    print(html)
    展开全文
  • 爬虫之websocket数据爬取

    万次阅读 热门讨论 2018-11-23 17:33:45
    import _thread as thread class websocket_class : def __init__(self): pass #这里就是websocket爬虫的核心,发送请求,接收数据并做最后处理, def on_message(self,ws, message): pass def on_error(self,ws, ...
  • 图片爬虫-易语言

    2021-06-13 23:29:30
    图片爬虫-易语言
  • 1) 源码本身很小,但是携带者一个用于测试的常量,后期可以删除的, 2) 源码本质是两个类,一个是dom对象,一个是dom对象数组,是模拟数组, ...4) 懂前端的朋友都晓得,选择器抓取的数据,一般2两种, 一种是只有一个结果集的...
  • 爬虫实现对于百度文库内容的爬取

    千次阅读 2020-12-27 21:32:01
    众所周知,百度文库不允许非VIP直接复制它的内容,我这种穷鬼对此深恶痛绝,所以决定用python实现对于其内容的爬取 ...window.title('百度文库爬虫') window.geometry('500x300') baseNum = tk.Label(window, text
  • 本源码虽然简单,但是很形象的给大家介绍了一个简单的爬虫和递归算法。 供大家学习交流使用 思路: 百度搜索关键词 采集所有页面地址并过滤常见网站(新浪 腾讯 网易之类的) 取出所有链接 取出所有图片链接 对链接...
  • 易语言小红书sign算法源码
  • 全自动百度推广引流 UA伪装 百度搜索协yi 访客来源伪装 多线程稳定爬虫+推广 sqlite 数据库多线程的使用+多线程下列队多任务的配合使用 有些朋友对于百度搜索的协议需要了解的也可以看一下源码内的:类_百度搜索爬虫...
  • 爬虫专用浏览器

    2017-06-02 16:44:22
    该软件包可以结合webview进行爬取网页,自己弄好接口就可以了!
  • BET365网站 token生成分析 最近发现网站的js token生成逻辑变了,于是从新编辑一下,本篇只说思路,并无代码。 在以前生成token的位置打断点, 然后进行对比会发现这个token并无用处,已经成为一个障眼法了 ...
  • 易库理解XML 系统结构:易语言易库理解XML源码,易库理解XML ======窗口程序集_简单的理解XML | | | |------ _按钮_转换_被单击 | | | |------ _按钮_打开易库_被单击 | | | |------ _按钮_在外部浏览器中

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 531
精华内容 212
关键字:

易语言爬虫

爬虫 订阅