2016-10-06 9 views
1

<b> 태그에있는 값을 찾아서 반환하는 데 문제가 있습니다. 태그를 읽을 때 운이 없습니다. 당신은 페이지의 소스를 직접 볼 수있을 것입니다 경우Python Beautifulsoup 태그의 텍스트에 액세스 하시겠습니까?

여기보기 소스 정보의 백 개 라인을 게시하지하고 올바르게에 대한 링크를 게시하는 방법을 잘 모르지만 않는에서 웹 페이지입니다 http://yugiohprices.com/card_price?name=Dark+Magician

가 정보 내가 여기 https://postimg.org/image/5fwxfqjqf/

를 검색하려고 나는

import requests 
from bs4 import BeautifulSoup 
r = requests.get('http://yugiohprices.com/card_price?name=Dark+Magician'); 
soup = BeautifulSoup(r.content, "lxml") 
print soup.find('b').text 

이 사용하고있는 코드는 출력

입니다

홈 | 상위 100 개 | 카드 탐색 | 브라 우즈 세트

구매 통계 | 관심 목록 | 카드 가격

카드 판매 | 가격 경고 | 블로그 | FAQ | 설정

상관없이 내가 변경하거나 내가 "LDK2-ENY10"텍스트

+0

이것은 내 첫 번째 게시물이 너무 부드러운, 그리고 내가 어떤 당신이 날 수 있도록 도와 있다면 추가 할 수있는 정보가 무엇인지 알려 주시기입니다 :) – Chrisp

+0

[ask]와 더 구체적으로 [mcve]를 검토하십시오. 거기에 제안 된대로 문제를 보여주는 짧고 완전한 자체 프로그램을 제공하십시오. 귀하의 경우에는 문제를 설명하기 위해'요청 '이 필요하지 않지만 짧은 HTML 조각, 예상 출력 및 프로그램의 실제 출력이 필요합니다. –

+0

찾으려는 문자열이 실제로 HTML에없는 것 같습니다. 이 문자열은 나중에 AJAX를 사용하여 Javascript 코드에 의해 삽입 될 가능성이 큽니다. 다른 사람이이를 확인할 수 있도록 URL을 제공하십시오. –

답변

2

당신은 데이터를 Ajax 요청을 통해 요청 된 페이지가 데이터를로드하는 데 시간이 소요 볼 수에 액세스 할 수 없습니다 나는 무엇을하려고 이렇게 요청이 반환하는 것은 브라우저에 표시되는 것이 아닙니다. 그래서 당신은 단지 앵커를 찾아 원하는 것을 얻을, 당신이 볼 수

import requests 
from time import time 

r = requests.get("http://yugiohprices.com/get_card_prices/Dark+Magician?_={}".format(int(time()))) 

print(r.content) 

는 당신에게 카드에 대한 모든 세부 사항을 제공합니다 : 당신은 타임 스탬프를 전달 http://yugiohprices.com/get_card_prices/Dark+Magician에 대한 간단한 GET와 아약스 요청을 모방 할 수 ? /browse_sets로 시작하는 HREF을 설정

In [1]: import requests 
    ...: from time import time 
    ...: from bs4 import BeautifulSoup 
    ...: 
    ...: r = requests.get("http://yugiohprices.com/get_card_prices/Dark+Magician? 
    ...: _={}".format(int(time()))) 
    ...: soup = BeautifulSoup(r.content, "lxml") 
    ...: print(soup.select_one("a[href^=/browse_sets?set]").text) 
    ...: 
Legendary Decks II 

In [2]: 
+0

미안 그것은 그것을 해결하기 위해 너무 오래 걸렸습니다 .. 나는 여전히 배우고 있습니다. << – Chrisp

관련 문제