웹 캡처 및 변환 도구

Python 용 웹 스크레이퍼 API

파이썬 스크레이퍼 API

가장 먼저 다운로드 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 메소드

스크랩 결과를 처리하는 데 사용할 수있는 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 메서드 및 속성

상태 스크랩을 제어하는 ​​데 사용할 수있는 GrabzItScrapeClient 클래스의 모든 메소드와 특성이 아래에 나열되어 있습니다.