વેબને કેપ્ચર અને કન્વર્ટ કરવા માટેનાં સાધનો

પાયથોન માટે વેબ સ્ક્રેપર API પાયથોન સ્ક્રેપર API

સૌ પ્રથમ ડાઉનલોડ કરો પાયથોન માટે વેબ સ્ક્રેપર API અને પ્રારંભ કરવા માટે અંદર સ્થિત ઉદાહરણ હેન્ડલરને જુઓ.

પ્રક્રિયા સ્ક્રpedપ કરેલો ડેટા

સ્ક્રેપ કરેલા ડેટા પર પ્રક્રિયા કરવાનો સૌથી સહેલો રસ્તો એ છે કે જેએસએન અથવા એક્સએમએલ objectબ્જેક્ટ તરીકે ડેટાને accessક્સેસ કરવો, કારણ કે આ ડેટાને સરળતાથી ચાલાકી અને ક્વેરી કરવા માટે સક્ષમ કરે છે. જેએસઓએન નીચેના સામાન્ય ફોર્મેટમાં ડેટાસેટ નામ સાથે objectબ્જેક્ટ એટ્રિબ્યુટ તરીકે સ્ટ્રક્ચર્ડ હશે, જેમાં તે પોતે જ બીજા ક asલમ નામ સાથેના દરેક ક columnલમ નામવાળી ofબ્જેક્ટ્સની એરે ધરાવે છે.

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

સૌ પ્રથમ તે યાદ રાખવું આવશ્યક છે કે હેન્ડલરને તમામ સ્ક્રેપ કરેલો ડેટા મોકલવામાં આવશે, જેમાં એવા ડેટા શામેલ હોઈ શકે છે જે JSON અથવા XML toબ્જેક્ટ્સમાં રૂપાંતરિત કરી શકાતા નથી. તેથી પ્રક્રિયા કરવામાં આવે તે પહેલાં તમે કયા પ્રકારનાં ડેટા પ્રાપ્ત કરી રહ્યાં છો તે તપાસવું આવશ્યક છે.

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 લક્ષણ. પણ જો હેન્ડલરે પ્રાપ્ત કરેલી ફાઇલ જેએસઓન ફાઇલ ન હોય તો તે માત્ર યોગ્ય છે saveડી ડિરેક્ટરીમાં ડી. જ્યારે સ્ક્રpeપ રિઝલ્ટ ક્લાસ ખાતરી કરે છે કે બધી પોસ્ટ કરેલી ફાઇલો ગ્રાબઝિટના સર્વર્સમાંથી ઉદ્ભવે છે તે ફાઇલોના એક્સ્ટેંશનની તપાસ કરતા પહેલા તપાસ કરવી જોઈએ. saved.

સ્ક્રેપરેઝલ્ટ પદ્ધતિઓ

નીચે સૂચિબદ્ધ એ સ્ક્રેપરેઝલ્ટ વર્ગની બધી પદ્ધતિઓ છે જેનો ઉપયોગ સ્ક્રેપ પરિણામો પર પ્રક્રિયા કરવા માટે થઈ શકે છે.

  • string getExtension() - સ્ક્રેપના પરિણામે કોઈપણ ફાઇલના વિસ્તરણને મેળવે છે.
  • string getFilename() - સ્ક્રેપના પરિણામે કોઈપણ ફાઇલનું ફાઇલનામ મેળવે છે.
  • object toJSON() - સ્ક્રેપથી પરિણમેલી કોઈપણ JSON ફાઇલને રૂપાંતરિત કરે છે intઓ પદાર્થ.
  • string toString() - સ્ક્રેપથી પરિણમેલી કોઈપણ ફાઇલને a માં ફેરવે છે string.
  • xml.etree.ElementTree toXML() - સ્ક્રેપથી પરિણમેલી કોઈપણ XML ફાઇલને XML એલિમેન્ટમાં ફેરવે છે.
  • boolean save(path) - saveઓ સ્ક્રેપથી પરિણમેલી કોઈપણ ફાઇલ, જો તે સફળ થાય તો સાચું પાછું આપે છે.

ડિબગીંગ

તમારા પાયથોન હેન્ડલરને ડીબગ કરવાની શ્રેષ્ઠ રીત એ છે કે સ્ક્રેપ માટેનાં પરિણામોને વેબ સ્ક્રેપ્સ પાનું, save theક્સેસિબલ સ્થાન પર તમને જે ફાઇલની સમસ્યા છે તે ફાઇલ અને પછી તે ફાઇલનો માર્ગ સ્ક્રેપરેઝલ્ટ વર્ગના કન્સ્ટ્રક્ટરને પસાર કરો. નીચે બતાવ્યા પ્રમાણે, આ તમને દરેક વખતે નવી સ્ક્રેપ કર્યા વિના તમારા હેન્ડલરને ડિબગ કરવાની મંજૂરી આપે છે.

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

#the rest of your handler code remains the same

ભંગારને કાબૂમાં રાખવું

પાયથોન માટે ગ્રેબઝિટના વેબ સ્ક્રેપર API સાથે, તમે જરૂરિયાત મુજબ સ્ક્રેપને દૂરથી પ્રારંભ કરી શકો છો, રોકી શકો છો, સક્ષમ અથવા અક્ષમ કરી શકો છો. આ નીચેના ઉદાહરણમાં બતાવવામાં આવ્યું છે કે સ્ક્રેપની 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.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);
}

GrabzItScrapeClient પદ્ધતિઓ અને ગુણધર્મો

નીચે સૂચિબદ્ધ એ GrabzItScrapeClient વર્ગની બધી પદ્ધતિઓ અને ગુણધર્મો છે જેનો ઉપયોગ રાજ્યના સ્ક્રેપ્સને નિયંત્રિત કરવા માટે થઈ શકે છે.

  • GrabzItScrape[] GetScrapes() - GrabzItScrape ofબ્જેક્ટ્સના એરે તરીકે બધા વપરાશકર્તાઓના સ્ક્રેપ્સને આપે છે.
  • GrabzItScrape GetScrape(id) - ઇચ્છિત સ્ક્રેપનું પ્રતિનિધિત્વ કરતું એક GrabzItScrape .બ્જેક્ટ પરત આપે છે.
  • SetScrapeProperty(id, property) - સુયોજિત કરે છે સ્ક્રેપની મિલકત અને સફળ થાય તો સાચું વળતર આપે છે.
  • SetScrapeStatus(id, status) - સ્ક્રેપની સ્થિતિ ("પ્રારંભ", "રોકો", "સક્ષમ કરો", "અક્ષમ કરો") સેટ કરે છે અને જો સફળ થાય તો સાચું પરત આપે છે.
  • SendResult(id, resultId) - સ્ક્રેપનું પરિણામ ફરીથી મોકલે છે અને જો સફળ થાય તો સાચું પરત આપે છે.
    • સ્ક્રેપ આઈડી અને પરિણામ આઈડી ગેટસ્ક્રraપ પદ્ધતિથી મળી શકે છે.
  • SetLocalProxy(proxyUrl) - બધી વિનંતીઓ માટે ઉપયોગમાં લેવા માટે સ્થાનિક પ્રોક્સી સર્વરને સેટ કરે છે.