ਵੈੱਬ ਨੂੰ ਕੈਪਚਰ ਅਤੇ ਕਨਵਰਟ ਕਰਨ ਲਈ ਟੂਲ

ਪਾਈਥਨ ਲਈ ਵੈੱਬ ਸਕ੍ਰੈਪਰ ਏ.ਪੀ.ਆਈ. ਪਾਈਥਨ ਸਕ੍ਰੈਪਰ API

ਸਭ ਤੋ ਪਹਿਲਾਂ ਡਾਊਨਲੋਡ ਪਾਈਥਨ ਲਈ ਵੈਬ ਸਕ੍ਰੈਪਰ ਏਪੀਆਈ ਅਤੇ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਅੰਦਰ ਸਥਿਤ ਉਦਾਹਰਣ ਹੈਂਡਲਰ ਨੂੰ ਵੇਖੋ.

ਸਕ੍ਰੈਪਡ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰੋ

ਸਕ੍ਰੈਪਡ ਡੇਟਾ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸੌਖਾ ਤਰੀਕਾ ਹੈ ਕਿ JSON ਜਾਂ XML ਆਬਜੈਕਟ ਦੇ ਤੌਰ ਤੇ ਡਾਟਾ ਤਕ ਪਹੁੰਚਣਾ, ਕਿਉਂਕਿ ਇਹ ਡੇਟਾ ਨੂੰ ਅਸਾਨੀ ਨਾਲ ਹੇਰਾਫੇਰੀ ਕਰਨ ਅਤੇ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੇ ਯੋਗ ਕਰਦਾ ਹੈ. ਜੇ ਐੱਸ ਐੱਨ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਆਮ ਫਾਰਮੈਟ ਵਿਚ ਡੇਟਾਸੇਟ ਦੇ ਨਾਮ ਦੇ ਨਾਲ ਇਕਾਈ ਗੁਣ ਦੇ ਰੂਪ ਵਿਚ ਬਣਾਇਆ ਜਾਵੇਗਾ, ਜਿਸ ਵਿਚ ਆਪਣੇ ਆਪ ਵਿਚ ਹਰ ਇਕ ਕਾਲਮ ਦੇ ਨਾਮ ਦੇ ਨਾਲ ਇਕਾਈ ਦੀ ਇਕ ਐਰੇ ਸ਼ਾਮਲ ਹੋਵੇਗੀ.

{
  "Dataset_Name": [
    {
      "Column_One": "https://grabz.it/",
      "Column_Two": "Found"
    },
    {
      "Column_One": "http://dfadsdsa.com/",
      "Column_Two": "Missing"
    }]
}

ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਯਾਦ ਰੱਖਣਾ ਲਾਜ਼ਮੀ ਹੈ ਕਿ ਹੈਂਡਲਰ ਨੂੰ ਸਾਰੇ ਸਕ੍ਰੈਪਡ ਡੇਟਾ ਭੇਜਿਆ ਜਾਵੇਗਾ, ਜਿਸ ਵਿੱਚ ਉਹ ਡੇਟਾ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਜੇਐਸਓਐਨ ਜਾਂ ਐਕਸਐਮਐਲ ਆਬਜੈਕਟ ਵਿੱਚ ਨਹੀਂ ਬਦਲਿਆ ਜਾ ਸਕਦਾ. ਇਸ ਲਈ ਪ੍ਰੋਸੈਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੇ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਰਹੇ ਡੇਟਾ ਦੀ ਜਾਂਚ ਕਰਨੀ ਲਾਜ਼ਮੀ ਹੈ.

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 ਗੁਣ. ਇਸ ਤੋਂ ਇਲਾਵਾ ਜੇ ਹੈਂਡਲਰ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ ਫਾਈਲ ਜੇਐਸਐਨ ਫਾਈਲ ਨਹੀਂ ਹੈ ਤਾਂ ਇਹ ਬਿਲਕੁਲ ਸਹੀ ਹੈ saved ਨਤੀਜੇ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ. ਜਦੋਂ ਕਿ ਸਕ੍ਰੈਪਰੇਸਾਲਟ ਕਲਾਸ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ ਕਿ ਸਾਰੀਆਂ ਪੋਸਟ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਗਰੈਬਜ਼ਿਟ ਦੇ ਸਰਵਰਾਂ ਤੋਂ ਆਉਂਦੀਆਂ ਹਨ, ਫਾਈਲਾਂ ਦੇ ਵਿਸਥਾਰ ਦੀ ਜਾਂਚ ਵੀ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ saved.

ਸਕ੍ਰੈਪਰੇਸਾਲਟ odੰਗ

ਹੇਠਾਂ ਸੂਚੀਬੱਧ ਸਕ੍ਰੈਪਰੇਸਾਲਟ ਕਲਾਸ ਦੇ ਸਾਰੇ theੰਗ ਹਨ ਜੋ ਸਕ੍ਰੈਪ ਨਤੀਜਿਆਂ ਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ.

  • string getExtension() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਫਾਈਲ ਦਾ ਐਕਸਟੈਂਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ.
  • string getFilename() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਫਾਈਲ ਦਾ ਨਾਮ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ.
  • object toJSON() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ JSON ਫਾਈਲ ਨੂੰ ਬਦਲਦਾ ਹੈ into ਇਕ ਵਸਤੂ.
  • string toString() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਫਾਈਲ ਨੂੰ ਏ string.
  • xml.etree.ElementTree toXML() - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕਿਸੇ ਵੀ ਐਕਸਐਮਐਲ ਫਾਈਲ ਨੂੰ ਇੱਕ ਐਕਸਐਮਐਲ ਐਲੀਮੈਂਟ ਵਿੱਚ ਬਦਲਦਾ ਹੈ.
  • boolean save(path) - saveਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਕੋਈ ਵੀ ਫਾਈਲ, ਜੇ ਇਹ ਸਫਲ ਹੁੰਦੀ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸ ਆਉਂਦੀ ਹੈ.

ਡੀਬੱਗਿੰਗ

ਆਪਣੇ ਪਾਈਥਨ ਹੈਂਡਲਰ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਉੱਤਮ fromੰਗ ਹੈ ਕਿ ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਨੂੰ. ਤੋਂ ਡਾ downloadਨਲੋਡ ਕਰਨਾ ਵੈਬ ਸਕ੍ਰੈਪਸ ਸਫ਼ਾ, save ਜਿਹੜੀ ਫਾਈਲ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਮੁਸ਼ਕਲ ਨਾਲ ਆ ਰਹੇ ਹੋ ਪਹੁੰਚਣ ਯੋਗ ਜਗ੍ਹਾ 'ਤੇ ਜਾ ਰਹੇ ਹੋ ਅਤੇ ਫਿਰ ਉਸ ਫਾਈਲ ਦਾ ਮਾਰਗ ਸਕ੍ਰੈਪਰੇਜਲਟ ਕਲਾਸ ਦੇ ਕੰਸਟਰਕਟਰ ਨੂੰ ਦਿਓ. ਇਹ ਤੁਹਾਨੂੰ ਹਰ ਵਾਰ ਨਵਾਂ ਸਕ੍ਰੈਪ ਕਰਨ ਤੋਂ ਬਿਨਾਂ ਆਪਣੇ ਹੈਂਡਲਰ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ.

scrapeResult = ScrapeResult.ScrapeResult("data.json");

#the rest of your handler code remains the same

ਸਕ੍ਰੈਪ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨਾ

ਪਾਈਥਨ ਲਈ ਗਰੈਬਜ਼ਟ ਦੀ ਵੈਬ ਸਕ੍ਰੈਪਰ API ਦੇ ਨਾਲ, ਤੁਸੀਂ ਕਿਸੇ ਸਕ੍ਰੈਪ ਨੂੰ ਰਿਮੋਟ ਤੌਰ ਤੇ ਅਰੰਭ ਕਰ ਸਕਦੇ ਹੋ, ਰੋਕ ਸਕਦੇ ਹੋ, ਸਮਰੱਥ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਅਯੋਗ ਕਰ ਸਕਦੇ ਹੋ. ਇਹ ਹੇਠਾਂ ਦਿੱਤੀ ਉਦਾਹਰਣ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ ਕਿ ਸਕ੍ਰੈਪ ਦੀ ਆਈਡੀ ਦੇ ਨਾਲ ਨਵੀਂ ਸਕ੍ਰੈਪ ਸਥਿਤੀ ਨੂੰ 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.aspx')
}
//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);
}

ਗਰੈਬਜ਼ਆਈਟਸਕ੍ਰੇਪ ਕਲੇਅਇੰਟ odੰਗ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾ

ਹੇਠਾਂ ਸੂਚੀਬੱਧ ਗ੍ਰੈਬਜ਼ ਆਈਟਸਕ੍ਰੈਪ ਕਲਾਇੰਟ ਕਲਾਸ ਦੇ ਸਾਰੇ allੰਗਾਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ ਜੋ ਰਾਜ ਦੇ ਚੱਕਰਾਂ ਨੂੰ ਨਿਯੰਤਰਣ ਕਰਨ ਲਈ ਵਰਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ.

  • GrabzItScrape[] GetScrapes() - GrabzItScrape ਆਬਜੈਕਟ ਦੀ ਇੱਕ ਐਰੇ ਦੇ ਤੌਰ ਤੇ ਸਾਰੇ ਉਪਭੋਗਤਾ ਸਕ੍ਰੈਪਸ ਵਾਪਸ ਕਰਦਾ ਹੈ.
  • GrabzItScrape GetScrape(id) - ਇੱਕ ਗਰੈਬਜ਼ਿਟਸਕ੍ਰੇਪ ਆਬਜੈਕਟ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿਸ ਨਾਲ ਲੋੜੀਂਦੇ ਸਕ੍ਰੈਪ ਦੀ ਪ੍ਰਤੀਨਿਧਤਾ ਹੁੰਦੀ ਹੈ.
  • SetScrapeProperty(id, property) - ਸੈੱਟ ਕਰਦਾ ਹੈ ਖੁਰਚਣ ਦੀ ਜਾਇਦਾਦ ਅਤੇ ਜੇ ਸਫਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸੀ ਕਰਦਾ ਹੈ.
  • SetScrapeStatus(id, status) - ਸਕ੍ਰੈਪ ਦੀ ਸਥਿਤੀ ("ਸਟਾਰਟ", "ਸਟਾਪ", "ਸਮਰੱਥ", "ਅਯੋਗ") ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਅਤੇ ਜੇ ਸਫਲ ਹੁੰਦੀ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸ ਆਉਂਦੀ ਹੈ.
  • SendResult(id, resultId) - ਸਕ੍ਰੈਪ ਦੇ ਨਤੀਜੇ ਨੂੰ ਦੁਬਾਰਾ ਭੇਜਦਾ ਹੈ ਅਤੇ ਜੇ ਸਫਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਹੀ ਵਾਪਸ ਮਿਲਦਾ ਹੈ.
    • ਸਕ੍ਰੈਪ ਆਈਡੀ ਅਤੇ ਨਤੀਜਾ ਆਈਡੀ ਗੇਟਸਕ੍ਰੈਪ ਵਿਧੀ ਤੋਂ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ.
  • SetLocalProxy(proxyUrl) - ਸਥਾਨਕ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਨੂੰ ਸਾਰੀਆਂ ਬੇਨਤੀਆਂ ਲਈ ਵਰਤਣ ਲਈ ਸੈੱਟ ਕਰਦਾ ਹੈ.