2017-09-25 5 views
2

내가 H3 태그 안에있는 모든 링크를 검색하려는 아름다운 수프와 특정 웹 페이지를 분석하고 있습니다 :아름다운 수프는 다른 기호와 URL에서 특정 문자를 대체

page = = requests.get(https://www....) 
soup = BeautifulSoup(page.text, "html.parser") 
links = [] 
for item in soup.find_all('h3'): 
links.append(item.a['href'] 

그러나, 발견 된 링크가 다릅니다를 페이지에있는 링크. 예를 들어, 페이지에 http://www.estense.com/?p=116872 링크가 있으면 Beautiful soup는 http://www.estense.com/%3Fp%3D116872을 반환하고 '?' '% 3F'및 '='을 % 3D와 함께 사용하십시오. 왜 그런가요?

감사합니다.

+0

사용하여 URL을 맺다 수 있습니다. 그러나 나는이 문제를 재현 할 수 없다. 어떤 버전의 파이썬을 사용합니까? –

+0

파이썬 3.5.3을 사용합니다. – user1767774

답변

1

당신은 그것은 URL을 탈출 것 urllib.parse

from urllib import parse 
parse.unquote(item.a['href']) 
+0

감사합니다.하지만이 문제의 원인을 설명해 주시겠습니까? – user1767774

+1

그 이유는' chad