2017-01-02 1 views
0

는 내가 흥미있어 반복적 인 코드를 포함 PHP 파일을 얻었다. 여기 Python에서 beautifulsoup를 사용하여 특정 요소를 긁는 방법?

<a href="/browse.php?cat=298"><img src="/Static/icons/cat_black_mirror.jpeg" alt="Черное зеркало" title="Черное зеркало" align="left" class="category_icon" border="0" /></a> 
    <span class="torrent_title"><b>Заткнись и танцуй (Shut Up and Dance)</b></span><br /> 
     Дата: <b>01.01.2017 20:51</b><br />Звук: <b>Многоголосый закадровый (LostFilm.TV)</b> 
    </span> 

내가 흥미있어하는 토런트 제목과 링크 예를

입니다. 그러나, 클래스와 스팬에 가려고했습니다. 그리고 링크를 찾으십시오. 여기에 예가 있습니다

url = 'http://www.lostfilm.tv/browse.php?' 
lost_f = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}) 
lost_soup = BeautifulSoup(lost_f.text,'html.parser',from_encoding="windows-1251") 
for item in lost_soup.findAll('span', {'class': 'torrent_title'}): 
print item.text 
print item.previous_sibling.previous_sibling['href'] 

다음과 같은 결과가 나타납니다 : 이름 + 잘못된 링크. 어떻게 급류 이름과 관련 링크를 얻을 수 있습니까?

+0

작품 잘. 어떤 링크를 얻습니까? 이 페이지에 문제가있는 것 같습니다. 이미지와 링크는 제목과 다릅니다. –

답변

1

이와 비슷한?

import re 

url = 'http://www.lostfilm.tv/browse.php?' 
lost_f = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}) 
lost_soup = BeautifulSoup(lost_f.text,'html.parser', from_encoding="windows-1251") 
for a in lost_soup.find_all('a',{'href': re.compile('/browse\.php\?cat=\d+')}): 
    print "HREF=", a['href'], "TITLE =", a.text 
+0

스팟 - 온. 나는 하루의 절반을 그것에 썼다. 그리고 당신은 5 분 만에 도착했다. 잘하셨습니다, –

+0

@ Lord G.이 질문에 대한 답을 받아 들여주십시오. 그러면 다른 사람들의 시간을 절약 할 수 있습니다. –

0
<a href="/browse.php?cat=298"><img src="/Static/icons/cat_black_mirror.jpeg" alt="Черное зеркало" title="Черное зеркало" align="left" class="category_icon" border="0" /></a> 

a 태그는 href="/browse.php?cat=298"title="Черное зеркало",이 태그의 모든 정보를 얻을 수있는 URL이 포함되어 있습니다.

import requests, bs4 
url = 'http://www.lostfilm.tv/browse.php?' 
lost_f = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}) 
lost_soup = bs4.BeautifulSoup(lost_f.text,'lxml',from_encoding="windows-1251") 

content_body = lost_soup.find('div', class_="content_body") 
a_tags = content_body.select('a[href^="/browse.php?cat="]') 
titles = [a.img.get('title') for a in a_tags] 
links = [a.get('href') for a in a_tags] 

for link, title in zip(links, titles): 
    print(link, title) 

아웃 : 나를 위해

/browse.php?cat=130 Шерлок 
/browse.php?cat=298 Черное зеркало 
/browse.php?cat=296 Третий глаз 
/browse.php?cat=297 Твин Пикс 
/browse.php?cat=298 Черное зеркало 
/browse.php?cat=297 Твин Пикс 
/browse.php?cat=298 Черное зеркало 
/browse.php?cat=219 Викинги 
/browse.php?cat=295 Корпорация 
/browse.php?cat=298 Черное зеркало 
/browse.php?cat=297 Твин Пикс 
/browse.php?cat=298 Черное зеркало 
/browse.php?cat=294 Стрелок 
/browse.php?cat=267 Человек в высоком замке 
/browse.php?cat=297 Твин Пикс 
+0

감사합니다. 그것이 특정 요소에 대한 또 다른 방법입니다. –

관련 문제