Webpagina schrapen via Linux. (11 / 16 stap)

Stap 11: Instructables telt deel 2 van 2.




Opmerking met de verandering in de manier instructables.com heeft nu webpagina's, zal ik waarschijnlijk opnieuw dit instructable.

Laat zeggen u wilde weten hoe verschillende instructables aan het doen zijn. Duurde niet de tijd om het te maken met een gui. dat is uw huiswerk. Net pakte een paar instructables vanaf de eerste pagina als voorbeeld. Wil je een gegevensbestand maken met de URL's of het webadres van de instructables die u hebt gekozen. Klik met de rechtermuisknop op de links en Koppelingslocatie kopiëren en plak het in uw redacteur met behulp van het gegevensbestand (gelieve Zie de voorafgaande instructables op pagina schrapen als u vragen hebt).

idata: (Opmerking: Voer geen type in "[data]" of [/data] of krijgt u een fout)
[data]

[/ gegevens}

Dan moet je een programmabestand voor het verzamelen van de gegevens via het web scraping maken. Ik heb niet de moeite om er gui omwille van de simplicities gaan.

iGet.sh
[code]
#================================
#
# Instructablesnumbers catcher
#
#=================================
# Toewijzingen
# --------------------------------
datafile = "idata"
# de datum
tmon = $(datum + "%b")
tday = $(datum + "%d")
echo "de weergaven voor $dj op $tmon $tday:"
#=================================
#
# De gegevensinvoer
#---------------------------------
terwijl lees lijn
doen theurl = $line
# uncomment de volgende regel als u wilt zien van de url en/of weergaven
echo -n "$theurl"
# krijgen totale views
# elinks "$theurl" | grep "Totale Views"
# krijgen alle info
elinks "$theurl" | grep -m 2 x bekeken
# Haal nummers
# elinks "$theurl" | grep "Totale Views" | knippen -c 16-25
# Un-opmerking de volgende regel als u wilt dat het een beetje meer leesbaar
# echo ""
gedaan < $datafile
[/ code]

Deze maken een programma:
$ chmod + x iget.sh

Uitvoeren:
$./iget.sh
De weergaven voor op Oct 06:

Totaal aantal malen bekeken: 587
Vandaag bekeken: 95

Totaal aantal malen bekeken: 618
Vandaag bekeken: 608

Totaal aantal malen bekeken: 54,833
Vandaag bekeken: 216

Totaal aantal malen bekeken: 43,876
Vandaag bekeken: 17

Totaal aantal malen bekeken: 15,157
Vandaag bekeken: 12

Totaal aantal malen bekeken: 107,243
Vandaag bekeken: 46
$ _

Het volgende zal alles in een bestand opslaan als uw wilt.
$./iget.sh >> datafile

Een real-time-saver als u vele vele instructables hebt en niet wilt gaan door elke pagina om de gegevens te krijgen. Follow-up van instructable:

Waarschuwing: Gegevens kunnen niet worden altijd up-to-date.

============================================================================

MSWindows:
-----------------------------------
Software nodig:
Browser:
Elinks:
http://www.paehl.com/open_source/?TextBrowser_for_Windows:ELINKS_an_other_textbrowser

Grep
Grep van unxutils
http://downloads.sourceforge.net/project/unxutils/unxutils/Current/UnxUtils.zip?r=&TS=1331135481&use_mirror=iWeb

QBasic vanuitMicroscoop.
http://www.Microsoft.com

WinZip:
http://www.WinZip.com/Win/en/downwz.htm

------------
Wil je een datafile maken met de URL's van de instructables die u controleren wilt op:

idata: (Opmerking: Voer geen type in "[data]" of [/data] of krijgt u een fout)
[data]

[/ gegevens}

Hier is de code. u zult willen maken een programmabestand met de naam scrape.bas. U zal stormloop op vanuit qbasic.

Scrape.bas (gewoon gebruik maken van de lijnen tussen de [code] en [/ code])
[code]
OPEN "idata" FOR INPUT AS #1
terwijl niet (eof(1))
INPUT #1, een$
PRINT een$
b$ = "elinks" + a$ + "| grep Views: "
SHELL b$
AFDRUKKEN
wend
Sluit #1
systeem
[/ code]

Opmerking: Hebt u freebasic voor mswindows of freebasic voor linux. de code zal werken op beide machine. Ik veronderstel dat het zou werken op een Mac ook als je had de juiste basistaal compiler. Hou van overdraagbare code!
Zodra u alle bestanden hebt gemaakt en de prorgams die u hebt gedownload toegankelijk vanuit de directory zijn, u moet zitten kundig voor krijgen een afdruk uit.

c:\ > qbasic/run scrape.bas

Nabeschouwing: kon waarschijnlijk in plaats daarvan van gebruikte lynx...

========================================================

Tijdelijke oplossing:

#================================
#
# Instructablesnumbers catcher
#
#=================================
# Toewijzingen
# --------------------------------
szAnswer = $(zenity--selectie van bestanden--titel = "Selecteer een iurl bestand om te lezen")
datafile = $szAnswer
outfile = "inumdata"
totaal = 0
# de datum
tmon = $(datum + "%b")
tday = $(datum + "%d")
echo "de weergaven voor $dj op $tmon $tday:" > $outfile
#=================================
#
# De gegevensinvoer
#---------------------------------
terwijl lees lijn
doen theurl = $line
echo "$theurl"
# echo -n "$theurl'" >> $outfile
# krijgen totale views
# count = $(elinks "$theurl" | grep -m 1 "hits-count" | sed ' s/[^0-9]*//g')
Count = $(elinks "$theurl" | grep -m 1 "meningen" | sed ' s/[^0-9]*//g')
# laat totaal$ totale + $count =
echo "$count" >> $outfile
gedaan < $datafile
# echo "totale: $total" >> $outfile
zenity--tekst-info--filename = $hetbestand

Gerelateerde Artikelen

Webpagina schrapen met een gui.

Webpagina schrapen met een gui.

Tot nu toe hebben we webpagina's via de opdrachtregel met schrapen en dan deden we het met het web met. Nu laten we het naar het bureaublad. Alleen zal ik een voorbeeld en u kunt de rest van hen achterhalen. We zullen gebruiken zenity weer waarmee we
Begin webpagina schrapen met php.

Begin webpagina schrapen met php.

We hebben sommige webpagina schrapen met bash gedaan en nu willen we aan het intensiveren van de macht van de code met een webpagina-scripttaal genaamd PHP. Dat is de P meestal in de stack versterker (W/M/L) van een webserver Apache2. Ik zal u tonen
Webpagina schrapen van/naar een webpagina.

Webpagina schrapen van/naar een webpagina.

Het doel van het project is om opdracht zoals batch-bestanden en maak ze toegankelijk via het web. U zal zitten kundig voor uw eigen speciale web-pagina te maken en niet moet afhangen van iemand anders te bereiden voor u. Web pagina schrapen terug na
Eenvoudige linux commando's van een web-pagina.

Eenvoudige linux commando's van een web-pagina.

Er moest een manier om te doen eenvoudige commando's voor linux zonder het gaan naar de opdrachtregel. Het keurige deel aan dit project is dat u zo gemakkelijk het zelf uitbreiden kunt. Moet een directory listing. Geen probleem. Wilt u weten hoe de s
Stuur een mailtje via telnet

Stuur een mailtje via telnet

Hi's iedereen, heb je een beetje leuk en voor een persoonlijke project dat ik nodig voor het verzenden van mails via linux terminal. De eerste optie die ik had was te gebruiken van het postbevel van postfix. Maar voor sommige reden wilde ik deze meth
Inleiding tot het installeren van web apps.

Inleiding tot het installeren van web apps.

Webapplicaties zijn een zegen voor uw computeromgeving bieden. Traditioneel zou u computer software applicaties lokaal op elk systeem laden.  Zelfs met geautomatiseerde software kan implementatie systemen, nog steeds worden ondersteunen intensieve. M
Raspberry Pi geconfigureerd voor een Maker Fair

Raspberry Pi geconfigureerd voor een Maker Fair

Ik gebruik de Raspberry Pi een veel in projecten die ik laten op verschillende beurzen van de Maker zien. Ik de installatie van de Raspberry Pi's webserver als de front-end van een interface die verschillende dingen kunt bepalen. De webserver kan wor
Raspberry Pi bijenteelt Server

Raspberry Pi bijenteelt Server

Bijenteelt (of de bijenteelt, uit het Latijn: API's "bee") is het onderhoudvan honing bijenvolken, vaak in kasten, door de mens. Een imker (of apiarist) houdt bijen om hun honing en andere producten die de korf produceert (met inbegrip van bijen
Aan de slag met Intel® Edison Mini Breakout Board

Aan de slag met Intel® Edison Mini Breakout Board

Intel biedt 2 verschillende hardwareplatformen om te werken met Intel® Edison ontwikkel bord.De kern-module van Intel® Edison heet Intel® Edison Compute Module, terwijl de 2 extensie planken zijn Intel® Edison Arduino Board en Intel® Edison Breakout
24Mhz--1800 Mhz SDR-Radio-ontvanger voor $15 (Digital, zijband AM, FM enz

24Mhz--1800 Mhz SDR-Radio-ontvanger voor $15 (Digital, zijband AM, FM enz

24 Mhz--1800 Mhz SDR-Radio-ontvanger voor $15 (Digital, zijband AM, FM enz)Ik heb onlangs besloten om te proberen uit een van de nieuwe SDR DVB-T TV tuner USB-apparaten. Ze worden verkocht over de hele wereld als USB TV-tuners.  De ene die ik gebruik
Grote op zoek pompoenen gemakkelijk snijden

Grote op zoek pompoenen gemakkelijk snijden

dit jaar ik gesneden mijn beste pompoen nog, en ik dacht dat ik zou het document.Deze methode duurde ongeveer drie uur, maar ziet er vrij goed in mijn mening.Stap 1: materialen - Pompoen-Gekarteld mes-Lepel-Pin / naald / scherpe punt-Computer, Printe
Mijn observatorium

Mijn observatorium

De achtergrondIk heb een gezondheidsprobleem dat me met behulp van een telescoop op een normale manier tegenhoudt, dus ik wilde video en CCD-camera's te gebruiken op mijn telescopen - afstand gecontroleerd terug naar mijn slaapkamer. De telescoop moe
Linux (Knoppix) via USB op Tablet-PC van HP tc4400

Linux (Knoppix) via USB op Tablet-PC van HP tc4400

overzicht van HP tc4400 running Windows XP Tablet Edition, opgestart via USB en Flash drive met Knoppix en Linux hulpmiddelen.Dit is een overzicht van de USB-proces voor opstartkopieën.Links en verwijzingen zijn online beschikbaar.(http://en.wikipedi
Het bedienen van uw verlichting via een webpagina!

Het bedienen van uw verlichting via een webpagina!

Na het spelen met RF-controllers voor een tijdje, ik realiseerde me een groot nadeel is de noodzaak om altijd een zender om een signaal naar de ontvanger. Zou het niet mooi zijn als ik mijn telefoon als een zender gebruiken kon? Nou, is dat precies w