磁力链接+爬虫-阿里云开发者社区

开发者社区> 大数据> 正文
登录阅读全文

磁力链接+爬虫

简介: 磁力链接 磁力链接,简单的说(Magnet URI scheme):类似下面这样以“magnet:?xt=urn:btih:”开头的字符串,就是一条磁力链接;确切的说:“磁力链接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称。 Pyt

磁力链接
磁力链接,简单的说(Magnet URI scheme):类似下面这样以“magnet:?xt=urn:btih:”开头的字符串,就是一条磁力链接;确切的说:“磁力链接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称。

这里写图片描述

Python获取免费的可用代理

在使用爬虫多次爬取同一网站时,经常会被网站的ip反爬虫机制给禁掉,这时就可以通过使用代理来解决。目前网上有很多提供最新免费代理列表的网站,这些列表里很多的代理主机是可用的,但是也有一些是不可用的,因此需要进一步筛选。利用Python可以很方便地筛选出可用的代理列表。

以提供免费代理信息的网站IPCN 国家地区免费代理为例,这里给出一个爬取此网站上提供的代理信息并筛选可用代理主机的程序。主要用到requests和lxml,具体代码为:

# -*- coding: utf-8 -*-
import requests
from lxml import etree


def get_proxies_from_site():
    url = 'http://proxy.ipcn.org/country/'
    xpath = '/html/body/div[last()]/table[last()]/tr/td/text()'

    r = requests.get(url)
    tree = etree.HTML(r.text)

    results = tree.xpath(xpath)
    proxies = [line.strip() for line in results]

    return proxies

#使用http://lwons.com/wx网页来测试代理主机是否可用
def get_valid_proxies(proxies, count):
    url = 'http://lwons.com/wx'
    results = []
    cur = 0
    for p in proxies:
        proxy = {'http': 'http://' + p}
        succeed = False
        try:
            r = requests.get(url, proxies=proxy)
            if r.text == 'default':
                succeed = True
        except Exception, e:
            print 'error:', p
            succeed = False
        if succeed:
            print 'succeed:', p
            results.append(p)
            cur += 1
            if cur >= count:
                break

if __name__ == '__main__':
    print 'get ' + str(len(get_valid_proxies(get_proxies_from_site(), 20))) + ' proxies'

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: