2010-08-20 6 views
13

그래서 제 동생이 파이썬 (독학)으로 웹 크롤러를 작성하고 C++, Java 및 HTML을 알고 싶습니다. 버전 2.7을 사용하고 파이썬 라이브러리를 읽는 중 몇 가지 문제점이 있습니다. 1. 내게는 httplib.HTTPConnectionrequest 개념이 새롭습니다. 쿠키 또는 인스턴스와 같은 html 스크립트를 다운로드하면 이해할 수 없습니다. 이 두 가지를 모두 수행하면 웹 사이트 페이지의 소스를 얻게됩니까? 페이지를 수정하고 수정 된 페이지를 반환하기 위해 알아야 할 몇 가지 단어가 무엇입니까?Python 웹 크롤러 및 "가져 오기"html 소스 코드

그냥 배경에 대 한 페이지를 다운로드하고 내가

이 사람과 어떤 IMG를 교체해야 그리고 너희들이 나에게 2.7 및 3.1

+0

어떤 Python 모듈 또는 라이브러리를 사용하고 있습니까? 네가 말하는이게 뭐야? –

+0

@David - 특정 사양의 페이지에있는 모든 img 파일에 대해 – danutenshu

답변

37

Python 2.7을 사용하면 더 많은 타사 라이브러리가 있습니다. (편집 : 아래 참조).

stdlib 모듈 urllib2을 사용하는 것이 좋습니다. 웹 리소스를 편안하게 얻을 수 있습니다. 예 : 코드를 구문 분석에 대한

import urllib2 

response = urllib2.urlopen("http://google.de") 
page_source = response.read() 

BeautifulSoup를 보라.

BTW : 정확히 당신이 원하는 무엇을 :

그냥 배경에 대 한 페이지를 다운로드하고 사람과 어떤 IMG를 교체 할 필요가 내가 가진

편집 : 그것은 2014 년의 이제 대부분의 중요한 라이브러리가 포팅되었으며 가능한 경우 Python 3을 사용해야합니다. python-requestsurllib2보다 사용하기 쉬운 아주 멋진 고수준 라이브러리입니다.

+0

방금 ​​nitpick에, 당신이'urlopen'에서 얻은 것은'request' 객체가 아니라 응답 객체입니다. – aaronasterling

+0

죄송합니다. 고맙습니다. – leoluk

+0

처럼 Google 로고가 보이면 Mcdonalds 로고로 교체하십시오.또는 google 이미지로 이동하면 선택 이미지가 하나만 나타납니다. – danutenshu

0

우선 귀하의 의견을 말할 수 있다면 좋을 것이다 당신이 할 필요가있는 것은 HTTP spec이며, 이것은 당신이 유선 통신을 통해받을 것으로 예상되는 것을 설명 할 것입니다. 내용 내에서 반환 된 데이터는 소스가 아닌 "렌더링 된"웹 페이지입니다. 소스는 JSP, 서블릿, CGI 스크립트 일 수 있습니다. 즉, 무엇이든간에, 당신은 그것에 접근 할 수 없습니다. 서버가 보낸 HTML 만받습니다. 정적 HTML 페이지의 경우에는 "예"를 볼 수 있습니다. 그러나 다른 것은 소스가 아닌 생성 된 HTML을 보게됩니다.

modify the page and return the modified page 무엇을 의미할까요?

+0

을 수정했습니다. 새 페이지로 교체하십시오. – danutenshu

+0

처럼 Google 로고가 나타나면 Mcdonalds 로고로 교체하십시오. – danutenshu

+0

나에게 보낸 링크가 ​​매우 큽니다. 내가 읽어야 할 최소값은 무엇입니까 – danutenshu