Heim  >  Fragen und Antworten  >  Hauptteil

Eine Verwendung in Python ist unklar

Beim Schreiben eines Crawlers in Python (Crawling von Wikipedia-Einträgen) erschien die URL["href"] im Ausgabeprozess der Verwendung des Iterators. Ich dachte, sie sollte zu einer Verwendung im Iterator gehören, aber das konnte ich nicht Finden Sie es. Bitte helfen Sie mir bei dieser Verwendung

#coding:utf-8

import urllib
import urllib2
import re
from bs4 import BeautifulSoup

resp = urllib2.urlopen("https://en.wikipedia.org/wiki/Main_Page").read()

soup = BeautifulSoup(resp,"html.parser")

listurl = soup.findAll('a',href=re.compile("^/wiki/"))
for url in listurl:
        print url.get_text(),"------>","https://en.wikipedia.org"+url["href"]

Die URL["href"] in der letzten Zeile hat einen Kürzungseffekt auf die gecrawlten Daten. Vor dem Hinzufügen lautet die Ausgabe:

Druck-URL
Ausgabe: Haftungsausschluss
Nach dem Hinzufügen lautet die Ausgabe:
Druck-URL[" href" ]
Ausgabe:/wiki/Wikipedia:General_disclaimer
Lösung, danke

阿神阿神2711 Tage vor752

Antworte allen(1)Ich werde antworten

  • 某草草

    某草草2017-05-18 11:01:46

    只要实现了__getitem__方法的类就可以使用中括号取值。

                                                       
    In [16]: class A():                                
        ...:     def __getitem__(self,a):              
        ...:         return a                          
        ...:                                           
                                                       
    In [17]: a = A()                                   
                                                       
    In [18]: a['a'], a[1]                              
    Out[18]: ('a', 1)                                  

    Antwort
    0
  • StornierenAntwort