2012-10-19 3 views
-1

누군가 코드 30,000을 Google에서 Recent News으로 가져와 파이썬을 사용하여 웹 사이트에 표시 할 수 있습니까?파이썬 예제를 사용하여 웹 스크래핑

나는 44 개의 비디오 튜토리얼을보고 기초적인 것을 배웠다.

import urllib2 
from BeautifulSoup import BeautifulSoup 
# or if your're using BeautifulSoup4: 
# from bs4 import BeautifulSoup 

soup = BeautifulSoup(urllib2.urlopen('http://www.timeanddate.com/worldclock/astronomy.html?n=78').read()) 

for row in soup('table', {'class' : 'spad'})[0].tbody('tr'): 
    tds = row('td') 
    print tds[0].string, tds[1].string 
    # will print date and sunrise 

하지만 나 같은 초보자는 코드의이 작품은 내가 위의 예를 해결하는 데 도움이 수있는 방법을 이해할 수 없다 :

이었다.

+0

뉴스를 표시하려면 google rss 피드를 사용해야합니다. 연습을 위해서만하지 않는 한, 어떤 것도 webscrape 할 필요가 없습니다. [예] (http://news.google.com/news?pz=1&cf=all&ned=us&hl=en&output=rss) – kreativitea

+0

단지 한 가지 예입니다 ... Google이 아니라 뉴스를 받고 싶습니다. – a1204773

답변

3

30 분마다 Google 뉴스에서 모든 주요 제목을 가져 와서 인쇄하는 간단한 예입니다. 웹 사이트에 표시하는 방법은 구현 방법에 따라 다릅니다. 예를 들어 MYSQL 데이터베이스에서 내용을 가져 오는 경우 새 제목을 다운로드 할 때마다이 스크립트를 사용하여 DB를 쉽게 업데이트 할 수 있습니다.

import mechanize 
import cookielib 
import lxml.html as lh 
import time 

br = mechanize.Browser() 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 
br.set_handle_equiv(True) 
br.set_handle_gzip(True) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 

while True: 
    r = br.open('https://news.google.com/') 
    html = r.read() 
    doc=lh.fromstring(html) 
    for i in doc.xpath('.//*[@class="esc-lead-article-title"]'): 
     print i.text_content() 
    time.sleep(1800) 
+0

그러나 근원, 당신은 제목뿐만 아니라 기사의 근원을 어떻게 얻을 것입니까? 나는'esc-lead-article-source'를 시도했지만 작동하지 않았습니다. –

1

익숙하지 않은 가져 오기 문을 볼 때마다 빠른 Google 검색을하는 것이 좋습니다. 광산은

BeautifulSoup을 산출했습니다. 여기에서는 아름다운 수프라고하는 파이썬 라이브러리 설명서를 읽을 수 있습니다. 여기

UrlLib2

은 설명서를 참조 URL을

을 여는 데 사용되는 라이브러리이고 그것을 당신이이 작은 조각이 당신의 이점 :)에 사용할 수있는 단지 방법을 이해하는 데 도움이됩니다.

+0

이 코드를 이해할 수있을 것 같은데 ... 알아. 인쇄 대신 내 웹 사이트에 추가하고 싶다. 파이썬을 사용하면 될까? 그리고 코드를 실행하기 위해 프로그램을 실행해야한다는 것을 알기 때문에 ... 30 분마다 프로그램을 실행해야합니까? – a1204773

+0

동적 웹 사이트를 게시하거나 웹 소켓을 사용할 수있는 라이브러리를 찾으십시오. 예, 파이썬으로이 작업을 수행 할 수 있습니다. 30 분마다 실행하지 않아도됩니다. 계속 실행하면됩니다. 그런 다음 시간이 30 분 또는 00 표시 일 때를 확인하십시오. 행운을 빌어 요! – VoronoiPotato

+1

@ Loclip - 귀하의 의견에 따라 귀하의 질문을 편집하십시오, 귀하의 질문은 다소 혼란 스럽네요. 정확히 무엇이 당신을 괴롭히는 지 말해 주시겠습니까? 원하는 데이터를 수집 할 수없고 그 이유는 무엇입니까? 표시 할 수 없습니까? 왜? – root

관련 문제