Как делают я загружаю файл WWW:: Механизируйте после того, как это отправит форму?

Я сильно защитил бы Вас взгляд NetworkX. Это - проверенный в бою боевой конь и первый инструмент, которого большинство типов 'исследования' достигает для того, когда они должны сделать анализ основанных на сети данных. Я управлял графиками с 100 с тысяч краев без проблемы на ноутбуке. Его многофункциональное и очень простое в использовании. Вы будете фокусироваться больше на проблеме под рукой, а не деталях в конкретной реализации.

Пример ErdЕ‘s-RГ©nyi случайное поколение графика и анализ


"""
Create an G{n,m} random graph with n nodes and m edges
and report some properties.

This graph is sometimes called the Erd##[m~Qs-Rényi graph
but is different from G{n,p} or binomial_graph which is also
sometimes called the Erd##[m~Qs-Rényi graph.
"""
__author__ = """Aric Hagberg (hagberg@lanl.gov)"""
__credits__ = """"""
#    Copyright (C) 2004-2006 by 
#    Aric Hagberg 
#    Dan Schult 
#    Pieter Swart 
#    Distributed under the terms of the GNU Lesser General Public License
#    http://www.gnu.org/copyleft/lesser.html

from networkx import *
import sys

n=10 # 10 nodes
m=20 # 20 edges

G=gnm_random_graph(n,m)

# some properties
print "node degree clustering"
for v in nodes(G):
    print v,degree(G,v),clustering(G,v)

# print the adjacency list to terminal 
write_adjlist(G,sys.stdout)

Визуализация также проста:

enter image description here

[еще 119] визуализация: http://jonschull.blogspot.com/2008/08/graph-visualization.html

5
задан Andy Lester 31 March 2010 в 21:35
поделиться

2 ответа

Больше всего меня поразила подпрограмма "Mechanize-> form_number", которая начинается с 1, тогда как типичные программы начинают свой индекс с 0. Если кто-то хочет знать, как загрузить заголовки ответа или загрузить вложение заголовка s, это способ сделать это.

Вот полный код, чтобы сделать то, что я хотел.

#!/usr/bin/perl
use strict;
use WWW::Mechanize;

my $url = 'http://divxsubtitles.net/page_subtitleinformation.php?ID=111292';
my $m = WWW::Mechanize->new(autocheck => 1);
$m->get($url);
$m->form_number(2);
$m->click();
my $response = $m->res();
my $filename = $response->filename;

if (! open ( FOUT, ">$filename" ) ) {
    die("Could not create file: $!" );
}
print( FOUT $m->response->content() );
close( FOUT );
0
ответ дан 15 December 2019 в 01:04
поделиться

Я попробовал ваш код, и он возвращает стек HTML, из которого единственными http: // ссылками были:

    http://www.w3c.org
    http://ad.z5x.net
    http://divxsubtitles.net
    http://feeds2read.net
    http://ad.z5x.net
    http://www.google-analytics.com
    http://cls.assoc-amazon.com
с использованием кода

    my $content = $m->response->content();
    while ( $content =~ m{(http://[^/\" \t\n\r]+)}g ) {
        print( "$1\n" );
    }

Итак, мой комментарий к вам:
1. добавьте в свой код use strict; , вы программируете на отказ, если вы этого не сделаете
2. Прочтите выходной HTML-код и определите, что делать дальше, вы этого еще не сделали и поэтому задали неполный вопрос. Если вы не укажете URL-адрес, который хотите загрузить, вы просите кого-то другого написать для вас программу.

После того, как вы определили URL-адрес, который хотите загрузить, его просто получить и затем записываем содержимое ответа в файл. например,


if ( ! open( FOUT, ">output.bin" ) ) {
    die( "Could not create file: $!" );
}
binmode( FOUT ); # required for Windows
print( FOUT $m->response->content() );
close( FOUT );
1
ответ дан 15 December 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: