2016-12-05 2 views
-1

привет, ребята, соскабливают сайт, и у него есть 3 ссылки фильмов в каждом фильме, у них 3 ссылки, у меня есть код, чтобы получить 3 ссылки, но я хочу выбрать 1 и просто напечатайте, что 1 в этом случае openload один, также он печатает его, как и вся iframe вещь, и мне нравится, чтобы он печатал четкую ссылку, например this: 'https://openload.co/embed/cosxf9mWZlg/' im также gona напечатал здесь, так что у ребят есть идея, как я является Rigth в настоящее времяСкрестить веб-сайт, как получить конкретную ссылку

import urllib2 
import urllib 
import re 
import requests 
from bs4 import BeautifulSoup 
from lxml import html 
url= ('http://goldfilmesonline.com/goldstone-legendado-online/','http://goldfilmesonline.com/sob-a-sombra-legendado-online/','http://goldfilmesonline.com/fora-do-rumo-dublado-online/') 
b=0 

while b < len(url): 
    headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'} 
    a = r = requests.get(url[b], headers=headers) 
    soup = BeautifulSoup(a.text,'html.parser') 
    x = soup.findAll({'iframe' : 'src'}) 
    print x 
    b+=1 

это печать

[<iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="https://openload.co/embed/noK42_ITHiU/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="http://thevid.net/e/zqlcx3byxh/"></iframe>] 
[<iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="https://openload.co/embed/oMzqATsLLsw/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="http://thevid.net/e/rgt2kyrmzdqdbeocwjmspd6/"></iframe>] 
[<iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="https://openload.co/embed/cosxf9mWZlg/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="https://openload.co/embed/b85sRhsjJ3Q/"></iframe>, <iframe allowfullscreen="" frameborder="0" src="http://thevid.net/e/4mvpjkef43pqyhnmg/"></iframe>] 

ответ

1

Если я понять, что вы просите, вы хотите распечатать только iframes, где src имеет openload. Если это так, то все, что вам нужно сделать, это loop over x и проверьте, соответствует ли openload значение src для этого фрейма. Если это так, вы можете распечатать этот фрейм.

while b < len(url): 
    headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'} 
    a = r = requests.get(url[b], headers=headers) 
    soup = BeautifulSoup(a.text,'html.parser') 
    x = soup.findAll({'iframe' : 'src'}) 
    #print x 
    for eachFrame in x: 
     currentSRC = eachFrame['src'] 
     if "openload" in currentSRC.lower(): #lowercased here just in case. 
      #print currentSRC#uncomment this if you want just the src link to print. 
      #print eachFrame #uncomment this if you want the whole iFrame to print 
    b+=1 
+0

спасибо человеку, я нахожу некоторые коды, чтобы сделать это, но ваш твой лучше нравится – Daniel

+0

еще раз спасибо. но в вашем коде есть какие-то ошибки в erframe shoud be i, и я не знаю, почему он печатает ссылку на vid и openload, не знаю почему – Daniel

+0

просто для того, чтобы убедиться, что она работает отлично, потому что это вне моего проекта, но whem i make это def it wont work и print thevid и openload – Daniel

0

ОК, ребята, у меня есть ответ на себя, но это не выглядит Rigth, но работа ... если SME один знаю, простой или лучший способ использовать одни и те же модули, пожалуйста, помогите спасибо

import urllib2 
import urllib 
import re 
import requests 
from bs4 import BeautifulSoup 
from lxml import html 
url= ('http://goldfilmesonline.com/goldstone-legendado-online/','http://goldfilmesonline.com/sob-a-sombra-legendado-online/','http://goldfilmesonline.com/fora-do-rumo-dublado-online/') 
b=0 

while b < len(url): 
    headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'} 
    a = r = requests.get(url[b], headers=headers) 
    soup = BeautifulSoup(a.text,'html.parser') 
    x = soup.findAll({'iframe' : 'src'}) 
    c = x[1] 
    a = re.compile('src="(.+?)"').findall(str(c)) 
    print a 
    b+=1 
+0

Вы не должны задавать новые вопросы в своих ответах –

+0

См. Мой ответ ниже, если это не ответит на ваш вопрос и прокомментируйте его и сообщите мне. – Michael

+0

Спасибо, Майкл, и это очень помогает, я получаю то же самое с другим кодом, но я решил использовать вашу благодарность – Daniel

Смежные вопросы