Ich versuche, die URL für Bilder auf einer Webseite zu erhalten und diesen Code verwenden:Kann nicht filtern beautifulsoup Ergebnisse für Bilder
import httplib2
from BeautifulSoup import BeautifulSoup, SoupStrainer
http = httplib2.Http()
status, response = http.request('URL')
for link in BeautifulSoup(response, parseOnlyThese=SoupStrainer('img')):
if "visibility:hidden" not in link:
print "IMAGE PATH: "+link['src']
Und ich will die Links unsichtbare Bilder wie filtern:
img style="position:absolute;z-index:-3334;top:0px;left:0px;visibility:hidden;" src="https://.....
Aber ich bin nicht in der Lage, auf die Variable "Link" zu filtern. Wenn immer passieren.
Welcher Typ ist die Linkvariable? Schnur? Kann ich es in einen String-Typ konvertieren? Wie soll ich das bitte machen? Danke.
Edit: Danke M. Leung Ich versuchte, den Konstruktor Sie gab: BeautifulSoup (Antwort, 'html.parser', parse_only = SoupStrainer ('img') aber nicht für mich: Traceback (letzter Aufruf zuletzt): Datei "getLinksFromPage3.py", Zeile 10, in für Link in BeautifulSoup (Antwort, 'html.parser', parse_only = SoupStrainer ('img')): Datei "/ usr/lib/python2.7/dist-packages/BeautifulSoup.py ", Zeile 1522, in init BeautifulStoneSoup. init (selbst, * args, ** kwargs) Typeerror: init() bekam ein unerwartetes Stichwort Argument 'parse_only'
in der if-Anweisung: haben Sie versucht '' link ['style'] ''? –
Bitte teilen URL –
In der BeautifulSoup Dokumentation: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Sie haben ein klares Beispiel, dass der catched Inhalt ein Wörterbuch ist, so denke ich, dass mit "link [' style '] '' sollte das Problem lösen. –