가장 먼저 다운로드 Python 용 Web Scraper API를 시작하고 내부에있는 예제 핸들러를 살펴보십시오.
스크랩 된 데이터를 처리하는 가장 쉬운 방법은 데이터를 쉽게 조작하고 쿼리 할 수 있도록 JSON 또는 XML 객체로 데이터에 액세스하는 것입니다. JSON은 데이터 집합 이름을 객체 속성으로 사용하여 다음과 같은 일반적인 형식으로 구성되며 각 열 이름이 다른 속성 인 객체 배열을 포함합니다.
{ "Dataset_Name": [ { "Column_One": "https://grabz.it/", "Column_Two": "Found" }, { " Column_One": "http://dfadsdsa.com/" , "Column_Two" : "Missing" }] }
우선 처리기는 JSON 또는 XML 객체로 변환 할 수없는 데이터를 포함 할 수있는 모든 스크랩 된 데이터를 전송한다는 사실을 기억해야합니다. 따라서 처리하기 전에 수신중인 데이터 유형을 확인해야합니다.
scrapeResult = ScrapeResult.ScrapeResult() if scrapeResult.getExtension() == 'json': json = scrapeResult.toJSON() for json["Dataset_Name"] in obj: if obj["Column_Two"] == "Found": #do something else: #do something else else: #probably a binary file etc save it scrapeResult.save("results/"+scrapeResult.getFilename())
위의 예는 데이터 세트의 모든 결과를 반복하는 방법을 보여줍니다 Dataset_Name
그리고 가치에 따라 특정 행동을 Column_Two
속성. 또한 핸들러가 수신 한 파일이 JSON 파일이 아닌 경우 saved를 결과 디렉토리로. ScrapeResult 클래스는 게시 된 모든 파일이 GrabzIt의 서버에서 시작되는지 확인하려고 시도하지만 파일의 확장자도 확인해야합니다. saved.
스크랩 결과를 처리하는 데 사용할 수있는 ScrapeResult 클래스의 모든 메소드가 아래에 나열되어 있습니다.
Python 처리기를 디버깅하는 가장 좋은 방법은 스크랩에 대한 결과를 웹 스크랩 페이지 save 문제가있는 파일을 액세스 가능한 위치로 옮긴 다음 해당 파일의 경로를 ScrapeResult 클래스의 생성자로 전달하십시오. 그러면 아래와 같이 매번 새 스크랩을 수행하지 않고도 핸들러를 디버깅 할 수 있습니다.
scrapeResult = ScrapeResult.ScrapeResult("data.json"); #the rest of your handler code remains the same
GrabzIt의 Web Scraper API for Python을 사용하면 필요에 따라 원격으로 스크랩을 시작, 중지, 활성화 또는 비활성화 할 수 있습니다. 아래 예는 새 스크랩 상태와 함께 스크랩의 ID가 SetScrapeStatus
방법.
client = GrabzItScrapeClient.GrabzItScrapeClient("Sign in to view your Application Key", "Sign in to view your Application Secret") //Get all of our scrapes myScrapes = client.GetScrapes() if (len(myScrapes) == 0) { raise Exception('You have not created any scrapes yet! Create one here: https://grabz.it/scraper/scrape/') } //Start the first scrape client.SetScrapeStatus(myScrapes[0].ID, "Start") if (len(myScrapes[0].Results) > 0) { //re-send first scrape result if it exists client.SendResult(myScrapes[0].ID, myScrapes[0].Results[0].ID); }
상태 스크랩을 제어하는 데 사용할 수있는 GrabzItScrapeClient 클래스의 모든 메소드와 특성이 아래에 나열되어 있습니다.