imported>mutante mNo edit summary |
imported>Nemo bis (→Upgrade to API and automatic bulk additions: new section) |
||
(40 intermediate revisions by 6 users not shown) | |||
Line 26:
Haha,was? Wir müssen sie eben nicht weiter fahren. "<TimStarling> it shouldn't be in any statistics tables"
Warum sollten wir ständig etwas abfragen, wo sich die Zahlen nie ändern werden, was in jeglicher Hinsicht geschlossen ist, und unsere eigene Policy nicht erfüllt?
Die beiden o.g. Kriterien gelten für die Wikipedias-Table.
Für die Mediawikis-Table hingegen gilt ein ganz anderes Kriterium: Ist es online erreichbar?
Also gehört dieser Eintrag jetzt in die Mediawikis-Table. robiH [[User:82.212.63.18|82.212.63.18]] 09:42, 27 March 2007 (CEST)
== Feedback needed for Task "Create regexp-Script for Links in "Good" Column of [http://s23.org/wikistats/mediawikis_html.php?sort=stype_desc&th=250&lines=5 these] wikis" ==
[1] Create regexp-Script for Links in "Good" Column of [http://s23.org/wikistats/mediawikis_html.php?sort=stype_desc&th=250&lines=5 these] wikis (took)
Auf der Seite
http://s23.org/wikistats/mediawikis_html.php?sort=stype_desc&th=250&lines=5
finde ich diese Links in der Spalte "Good":
*http://www.hehu.se/wiki/Special:Statistics?action=raw
*http://info.sonicretro.org/Special:Statistics?action=raw
*http://www.wikidweb.com/wiki/Special:Statistics?action=raw
*http://recursostic.javeriana.edu.co/wiki/index.php/Special:Statistics?action=raw
*http://www.mein-parteibuch.de/wiki/Spezial:Statistics
Schauen wir uns zB http://www.hehu.se/wiki/Special:Statistics?action=raw näher an. Wie die url schon erwarten lässt sieht der Quelltext der Seite so aus:
total=3993;good=264;views=272498;edits=14730;users=407;admins=3
-->Dafür soll ich eine regexp bauen??? Wohl kaum... das funktioniert doch schon lange.
dito für http://info.sonicretro.org/Special:Statistics?action=raw
:Für beide brauchst Du nix mehr machen. [[User:RobiH|RobiH]] 13:08, 23 June 2007 (CEST)
Zu http://www.wikidweb.com/wiki/Special:Statistics?action=raw --> TODO Hier kann ich eine nonraw_en.php bauen falls ich soll (ist mir im Moment alles unklar... :-?)
Dito für http://recursostic.javeriana.edu.co/wiki/index.php/Special:Statistics?action=raw in _es
:Genau das ist es, was wir brauchen. [[User:RobiH|RobiH]] 13:08, 23 June 2007 (CEST)
Zu http://www.mein-parteibuch.de/wiki/Spezial:Statistics - sollte bereits mit nonraw_de.php funktionieren, oder nicht?
:Ach, die gibt es schon? [[User:RobiH|RobiH]] 13:08, 23 June 2007 (CEST)
::Dann ist der Task hiermit erledigt? --[[User:Took|took]] 13:37, 23 June 2007 (CEST)
:::Das muß mutante entscheiden. [[User:RobiH|RobiH]] 13:40, 23 June 2007 (CEST)
<pre>
took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_es.php
<pre>total2676
total12022
total466865
</..pre>took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_de.php
<pre>total1810
total2025772
total27153
</..pre>took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_en.php
<pre>total25766
total47152
total1444391
</..pre>
</pre>
@mutante: Die url ist jetzt jeweils hardgecodet in den scripten... musst du dann so bauen, das da der teil aus der db mit der passenden url eingesetzt wird natülich ;) --[[User:Took|took]] 13:38, 23 June 2007 (CEST)
Eh sorry, aber jetzt muss mir jemand erklären was hieran neu ist. Spanisch, deutsch und englisch non_raw gabs doch schon. Und es ist genauso eine Sonderregel die nur für diese URLs klappt. Oder auf wieviele kann mann die anwenden? [[User:mutante|mutante]] 01:18, 24 June 2007 (CEST)
:@mutante: Du wolltest doch text-xx auf regexp umgestellt haben, und eben das hat took jetzt geproggt. [[User:RobiH|RobiH]] 01:32, 24 June 2007 (CEST)
Schön, das mag die bessere Programmierweise zu sein, und ich kanns auch einabauen, aber ob man nun "$urlpattern = '@there are <b.?>([0-9]*)</b.?> pages@iU'; preg_match_all($urlpattern, $html, $matches);" oder "$total = explode("Thereare",$buffer);
$total = explode("totalpages..." macht bringt keinen Unterschied darin wieviele Wikis du damit abfragen kannst, bzw was du dir als Vorteil von regexp erwartet hast. [[User:mutante|mutante]] 18:41, 24 June 2007 (CEST)
:Vor allem eine geringere Fehleranfälligkeit. [[User:RobiH|RobiH]] 20:56, 24 June 2007 (CEST)
Wenn die Zahl nicht direkt hinter exakt den Zeichen "There are" kommt ist es in beiden Fällen das gleiche.
:fullack. und was wäre der eigentlich task gewesen? --[[User:Took|took]] 00:57, 14 July 2007 (CEST)
== Feedback needed for Task "Create regexp-Script for Hyperwaves. (took)" ==
Kann mal einer in ganzen deutschen Sätzen mit je einem funktionierendem Beispiel-Link pro gewünschter RegExp und vollständiger Aufzählung aller gewünschten Felder/Daten hier aufschreiben was ich genau machen soll? /me blickts so leider nicht was passieren soll.
Das regexp-Skript soll daraus eigentlich nur folgendes erzeugen (Durchnummeriert und sortierbar, versteht sich):
<table border=1>
<tr>
<td>TypNr</td>
<td>Hex-IP</td>
<td>Documents</td>
<td>Link</td>
<td>Title</td>
</tr><tr>
<td>1</td>
<td>0xd417eb28</td>
<td>85372</td>
<td>[http://www.osec.ch/rootcollection2 Link]</td>
<td>Hyperwave Root Collection</td>
</tr><tr>
<td>2</td>
<td>0x811bc836</td>
<td>211286</td>
<td>[http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action Link]</td>
<td>AEIOU Information Server</td>
</tr><tr>
<td>3</td>
<td>0x811bc833</td>
<td>1484885</td>
<td>[http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action Link]</td>
<td>IICM Information Server</td>
</tr><tr>
<td>4</td>
<td>0xc0a80112</td>
<td>15126</td>
<td>[http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action Link]</td>
<td>Hyperwave Root Collection</td>
</tr></table>
Die Quelldaten dazu finden jeweils wie folgt:
http://www.osec.ch/rootcollection2 (1 entry) (im Quelltext):
<pre>
<META NAME="Author" CONTENT="system">
<META NAME="DocumentType" CONTENT="collection">
<META NAME="GOid" CONTENT="0xd417eb28_0x00000002">
<META NAME="HW_ChildAccess" CONTENT="NO_ACCESS">
<META NAME="HW_CompoundSearchable" CONTENT="true">
<META NAME="HW_EffectiveAccess" CONTENT="READ_ACCESS">
<META NAME="HW_ObjectName" CONTENT="_id1_">
<META NAME="Name" CONTENT="rootcollection2">
<META NAME="ObjectID" CONTENT="0x00000002">
<META NAME="Rights" CONTENT="R:a, g everyone; W:a; A:a">
<META NAME="Subdocs" CONTENT="85372">
<META NAME="TimeCreated" CONTENT="2003/05/02 11:35:50">
<META NAME="TimeModified" CONTENT="2003/05/02 11:36:53">
<META NAME="Type" CONTENT="Document">
<META NAME="TITLE" LANG="de" CONTENT="Hyperwave Root Collection">
<META NAME="keywords" LANG="de" CONTENT="">
</pre>
http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action (1 entry) (über lynx):
<pre>
DocumentType: collection
GOid: 0x811bc836_0x00000002
HW_EffectiveAccess: READ_ACCESS
Name: rootcollection
Subdocs: 211286
TimeModified: 1996/04/29 08:39:51 GMT
Title: en:AEIOU Information Server
Title: ge:AEIOU Informationsserver
Type: Document
</pre>
CSS Statistics: Beispiel (5 entries): http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action (über lynx):
<pre>
DocumentType: collection
GOid: 0x811bc833_0x00000002
HW_EffectiveAccess: READ_ACCESS
Name: rootcollection
Subdocs: 1484885
TimeModified: 05/22/2001 07:46:48
Title: en:IICM Information Server
Title: ge:IICM Informationsserver
Type: Document
</pre>
Tabbed Statistics (23 entries): http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action (im Quelltext):
<pre>
<tr>
<td class="AttrName">Informationstyp:</td>
<td class="AttrValue">collection<xy>
</TD></TR>
<tr>
<td class="AttrName">Typ:</td>
<td class="AttrValue">Document<xy>
</TD></TR>
<tr>
<td class="AttrName">Objektkennung:</td>
<td class="AttrValue">0xc0a80112 0x00000002<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f14'] = document.forms['f1'];
document.forms['f14'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="4" ID="Tab4"><CENTER>
<script>
gHandleShowTabCallbacks["4"]=[];
</script>
<TABLE ID="TabTable4" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
<tr>
<td class="AttrName">Verbundsuche:</td>
<td class="AttrValue">true<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f13'] = document.forms['f1'];
document.forms['f13'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="3" ID="Tab3"><CENTER>
<script>
gHandleShowTabCallbacks["3"]=[];
</script>
<TABLE ID="TabTable3" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
<tr>
<td class="AttrName">Sortierreihenfolge:</td>
<td class="AttrValue">#S<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f12'] = document.forms['f1'];
document.forms['f12'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="2" ID="Tab2"><CENTER>
<script>
gHandleShowTabCallbacks["2"]=[];
</script>
<TABLE ID="TabTable2" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
<tr>
<td class="AttrName">Besitzer:</td>
<td class="AttrValue">hwsystem<xy>
</TD></TR>
<tr>
<td class="AttrName">Rechte:</td>
<td class="AttrValue">R:a, g everyone; W:a; A:a<xy>
</TD></TR>
<tr>
<td class="AttrName">Rechte des aktuellen Benutzers:</td>
<td class="AttrValue">READ_ACCESS<xy>
</TD></TR>
<tr>
<td class="AttrName">Rechte für aktuelle Collection:</td>
<td class="AttrValue">NO_ACCESS<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f11'] = document.forms['f1'];
document.forms['f11'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="1" ID="Tab1"><CENTER>
<script>
gHandleShowTabCallbacks["1"]=[];
</script>
<TABLE ID="TabTable1" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
<tr>
<td class="AttrName">Objektname:</td>
<td class="AttrValue">/<xy>
</TD></TR>
<tr>
<td class="AttrName">Aliasname (URL):</td>
<td class="AttrValue">rootcollection<xy>
</TD></TR>
<tr>
<td class="AttrName">Erstellt:</td>
<td class="AttrValue"><SCRIPT>document.write(transformDate('2004/01/26 22:48:21',HWDate,HW_UI_Date.full,false));</SCRIPT><xy>
</TD></TR>
<tr>
<td class="AttrName">Geändert:</td>
<td class="AttrValue"><SCRIPT>document.write(transformDate('2006/12/29 09:50:30',HWDate,HW_UI_Date.full,false));</SCRIPT><xy>
</TD></TR>
<tr>
<td class="AttrName">Link-Karte:</td>
<td class="AttrValue"><span id="buttoncontainerbutton_id_0" CLASS="ButtonFrame" >
<button NAME="" ID="button_id_0" TYPE="BUTTON" onclick="button_button_id_0_onclick_(this)">Ansicht</button>
</span>
<SCRIPT><!--
function button_button_id_0_onclick_(button) {
button._onclick = function button_button_id_0_inner_onclick_() {
opDlg('/0x00000000_0x00000002;internal&action=dialog.docreferences.back.action','dialogs');
}
return button._onclick();
}
//--></SCRIPT><xy>
</TD></TR>
<tr>
<td class="AttrName">Enthaltene Objekte:</td>
<td class="AttrValue">15126<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f10'] = document.forms['f1'];
document.forms['f10'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="0" ID="Tab0"><CENTER>
<script>
gHandleShowTabCallbacks["0"]=[];
</script>
<TABLE ID="TabTable0" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
<tr>
<td class="AttrName">Titel (Englisch):</td>
<td class="AttrValue">Hyperwave Root Collection<xy>
</TD></TR>
</pre>
[[User:RobiH|RobiH]] 13:30, 23 June 2007 (CEST)
Wieviele Gruppen gibt es hier? Und wieviele sind in jeder Gruppe? [[User:mutante|mutante]] 01:19, 24 June 2007 (CEST)
: Added counts. [[User:RobiH|RobiH]] 01:32, 24 June 2007 (CEST)
===done===
den für 23 Einträge(TypNr4) hab ich erledigt. @mutante: Lohnen sich die anderen überhaupt? 1 Eintrag?! Ist zu erwarten das es noch andere mit dem gleichen format gibt?
<pre>
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection4.php
hexip 0xc0a80112
total 16904
link http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action
title Hyperwave Root Collection
</pre>
dito für den mit 5 einträgen(TypNr3):
<pre>
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection3.php
hexip 0x811bc833
total 1484885
link http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action
title IICM Information Server
</pre>
TypNr 2 funzt mit dem gleichen script wie TypNr 3.....
<pre>
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection3.php
hexip 0x811bc836
total 211292
link http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action
title AEIOU Information Server
</pre>
...und btw: auch ohne lynx ganz prima
zu TypNr 1:<br>
hinter http://www.osec.ch/rootcollection2 verbirgt sich ein frameset. die gewünschten informationen kann ich dort nicht finden. see also [http://www.woodshed.de/publikationen/dialog-robot.html Gespräch mit einem Suchmaschinen-Robot] ;P
-->Task erledigt?
:Typ 1: Versuchs mal mit der URL http://www.osec.ch/rootcollection2?hyperwave=action%3Dplain.action [[User:RobiH|RobiH]] 02:43, 14 July 2007 (CEST)
::Also die hexip finde ich dort schonmal definitiv nicht, den "total"-count auch nicht - oder hab ich den übersehn? "Title" wird jetzt erfasst... --[[User:Took|took]] 00:48, 23 July 2007 (CEST)
<pre>
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection1.php|grep d417eb28
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection1.php
[...]
hexip
total
link http://www.osec.ch/rootcollection2?hyperwave=action%3Dplain.action
title Hyperwave Root Collection
</pre>
:Du hast recht, das isses noch nicht. Versuche mal http://www.osec.ch/rootcollection2 die Meta-Tags im Quelltext des Content-Frames (rechte Maustate) [[User:RobiH|RobiH]] 06:49, 23 July 2007 (CEST)
== Template "Subtasks for new table creation" / checklist ==
<pre>
[1] Create new mysql table for XXX-Wikis
[2] XXX-Wikis: Fill table with statsurls
[2] XXX-Wikis: Create update_.php / fill table with values
[2] XXX-Wikis: add update_php to cronjob
[2] XXX-Wikis: create _html
[2] XXX-Wikis: create_wiki, update links in _html
[2] XXX-Wikis: create _csv,_ssv,_xml
[2] XXX-Wikis: update links on Wikistats index
[2] XXX-Wikis: update coalesced_query, check coalesced_html
[2] XXX-Wikis: update largest_query, check largest_html
[2] XXX-Wikis: define new color (hexvalue), check/update legends with color
[2] XXX-Wikis: add Wiki page on S23 with table, update wikistats_extension in mediawiki
[3] XXX-Wikis: optional: create page on XXX-Wikis itself, pasting _wiki code manually
[3] XXX-Wikis: optional: ask took to create autohostlists and implement as cronjob
</pre>
hmm, i bet still forgot something here
== Adding Wikilivres? ==
Hello,
Would you add [http://wikilivres.info Wikilivres] to the list? It has currently 6,825 pages. Thanks, [[User:Yann|Yann]] 00:21, 1 October 2008 (CEST)
:Done. [[User:RobiH|RobiH]] 18:42, 1 October 2008 (CEST)
== Edit stats + ==
How about some stat's like
# Number of edits per page
# Number of Edits per Day
# Edits per User
A spin-of from these could be:
Most edited page's per wiki (Or Topic Trending)
Also What a bout a Twitter bot that posts these stat's?
Just have it run through the day and randomly choses a stat about a random wiki and Tweets it.
I have some basics together, (ok so i googled and found a Perl Module and a nice example of how to "Perl Twit"
Need to find a way to get data from wikistats/ pages!
:1. These figures are not delivered by mediawiki stats, they'd have to be calculated.
:2. That would be over 50,000 tweets per day. Who wants to be a follower of that?
[[User:RobiH|RobiH]] 21:29, 14 June 2011 (CEST)
:1. The calculations should be simple enough and im interested in learning _some_ DB stuff any how =)
:2. Oh yes maybe not tweet about every thing then, Limit of 17 or 5 tweets a day? Maybe most number of edits in a day, most new pages...?
:3. what's the difference between Total, and Good?
--[[User:DrOwl|DrOwl]] 10:28, 15 June 2011 (CEST)
== Upgrade to API and automatic bulk additions ==
The stats are also an incredibly useful list of MediaWikis which can used for various purposes. For instance, I've used it to archive some dozens of wikis ([[Meta:WikiTeam|WikiTeam]]), but I had to look for links to api.php and for license by hand. It would be great if you could automatically switch to API statistics (which give link to api.php). From the "rights" field in siteinfo it's often possible to automatically extract license info as well.<br />
To increase the database, [http://www.cs.brown.edu/~pavlo/mediawiki/ this] script could be studied ([http://www.cs.brown.edu/~pavlo/mediawiki/mediawikis.csv list of 21000 MediaWikis], [http://graffiti.cs.brown.edu/svn/graffiti/src/webcrawler/ code]).
Thank you, [[User:Nemo bis|Nemo bis]] 01:25, 16 July 2011 (CEST)
|
Latest revision as of 23:25, 15 July 2011
Discussion page for Wikistats/ToDo.
closed-zh-tw really closed[edit]
Channel #wikimedia-tech <mutante_> why is the "closed-zh-tw" closed, but still online, in the sense that there is an empty startpage and Special:Statistics?action=raw can be accessed? <TimStarling> mutante: because Mark Williamson complained that all his precious work was lost when we took it offline <TimStarling> so we put it back up with a special domain so that he could recover it <mutante_> TimStarling: if i have to specify the language it (was) in, would it be "Chinese" or English? <TimStarling> why do you need to know that? <mutante_> making statistics tables <mutante_> with a column and link for each <TimStarling> it shouldn't be in any statistics tables <mutante_> "lang" "local lang" ..etc <mutante_> the policy for putting it in statistics table was/is : a) has a working .wikipedia subdomain b) has accessible Special:Statistics?action=raw <mutante_> other policies always cause longer discussions :p <TimStarling> easily fixed... <mutante_> by making the stats page unaccessible? :p <TimStarling> http://closed-zh-tw.wikipedia.org/wiki/Special:Statistics?action=raw <mutante_> heh, thanks ;p
Die Aktion war kontraproduktiv. Jetzt müssen wir text-en fahren, um weiter die Daten zu bekommen. Hoffentlich machen sie für tlh und tokipona nicht den gleichen Mist. RobiH 00:03, 27 March 2007 (CEST)
Haha,was? Wir müssen sie eben nicht weiter fahren. "<TimStarling> it shouldn't be in any statistics tables"
Warum sollten wir ständig etwas abfragen, wo sich die Zahlen nie ändern werden, was in jeglicher Hinsicht geschlossen ist, und unsere eigene Policy nicht erfüllt?
Die beiden o.g. Kriterien gelten für die Wikipedias-Table. Für die Mediawikis-Table hingegen gilt ein ganz anderes Kriterium: Ist es online erreichbar? Also gehört dieser Eintrag jetzt in die Mediawikis-Table. robiH 82.212.63.18 09:42, 27 March 2007 (CEST)
Feedback needed for Task "Create regexp-Script for Links in "Good" Column of these wikis"[edit]
[1] Create regexp-Script for Links in "Good" Column of these wikis (took)
Auf der Seite
http://s23.org/wikistats/mediawikis_html.php?sort=stype_desc&th=250&lines=5
finde ich diese Links in der Spalte "Good":
- http://www.hehu.se/wiki/Special:Statistics?action=raw
- http://info.sonicretro.org/Special:Statistics?action=raw
- http://www.wikidweb.com/wiki/Special:Statistics?action=raw
- http://recursostic.javeriana.edu.co/wiki/index.php/Special:Statistics?action=raw
- http://www.mein-parteibuch.de/wiki/Spezial:Statistics
Schauen wir uns zB http://www.hehu.se/wiki/Special:Statistics?action=raw näher an. Wie die url schon erwarten lässt sieht der Quelltext der Seite so aus:
total=3993;good=264;views=272498;edits=14730;users=407;admins=3
-->Dafür soll ich eine regexp bauen??? Wohl kaum... das funktioniert doch schon lange.
dito für http://info.sonicretro.org/Special:Statistics?action=raw
- Für beide brauchst Du nix mehr machen. RobiH 13:08, 23 June 2007 (CEST)
Zu http://www.wikidweb.com/wiki/Special:Statistics?action=raw --> TODO Hier kann ich eine nonraw_en.php bauen falls ich soll (ist mir im Moment alles unklar... :-?)
Dito für http://recursostic.javeriana.edu.co/wiki/index.php/Special:Statistics?action=raw in _es
- Genau das ist es, was wir brauchen. RobiH 13:08, 23 June 2007 (CEST)
Zu http://www.mein-parteibuch.de/wiki/Spezial:Statistics - sollte bereits mit nonraw_de.php funktionieren, oder nicht?
- Ach, die gibt es schon? RobiH 13:08, 23 June 2007 (CEST)
- Dann ist der Task hiermit erledigt? --took 13:37, 23 June 2007 (CEST)
- Das muß mutante entscheiden. RobiH 13:40, 23 June 2007 (CEST)
took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_es.php <pre>total2676 total12022 total466865 </..pre>took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_de.php <pre>total1810 total2025772 total27153 </..pre>took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_en.php <pre>total25766 total47152 total1444391 </..pre>
@mutante: Die url ist jetzt jeweils hardgecodet in den scripten... musst du dann so bauen, das da der teil aus der db mit der passenden url eingesetzt wird natülich ;) --took 13:38, 23 June 2007 (CEST)
Eh sorry, aber jetzt muss mir jemand erklären was hieran neu ist. Spanisch, deutsch und englisch non_raw gabs doch schon. Und es ist genauso eine Sonderregel die nur für diese URLs klappt. Oder auf wieviele kann mann die anwenden? mutante 01:18, 24 June 2007 (CEST)
- @mutante: Du wolltest doch text-xx auf regexp umgestellt haben, und eben das hat took jetzt geproggt. RobiH 01:32, 24 June 2007 (CEST)
Schön, das mag die bessere Programmierweise zu sein, und ich kanns auch einabauen, aber ob man nun "$urlpattern = '@there are <b.?>([0-9]*)</b.?> pages@iU'; preg_match_all($urlpattern, $html, $matches);" oder "$total = explode("Thereare",$buffer); $total = explode("totalpages..." macht bringt keinen Unterschied darin wieviele Wikis du damit abfragen kannst, bzw was du dir als Vorteil von regexp erwartet hast. mutante 18:41, 24 June 2007 (CEST)
- Vor allem eine geringere Fehleranfälligkeit. RobiH 20:56, 24 June 2007 (CEST)
Wenn die Zahl nicht direkt hinter exakt den Zeichen "There are" kommt ist es in beiden Fällen das gleiche.
- fullack. und was wäre der eigentlich task gewesen? --took 00:57, 14 July 2007 (CEST)
Feedback needed for Task "Create regexp-Script for Hyperwaves. (took)"[edit]
Kann mal einer in ganzen deutschen Sätzen mit je einem funktionierendem Beispiel-Link pro gewünschter RegExp und vollständiger Aufzählung aller gewünschten Felder/Daten hier aufschreiben was ich genau machen soll? /me blickts so leider nicht was passieren soll.
Das regexp-Skript soll daraus eigentlich nur folgendes erzeugen (Durchnummeriert und sortierbar, versteht sich):
TypNr | Hex-IP | Documents | Link | Title |
1 | 0xd417eb28 | 85372 | Link | Hyperwave Root Collection |
2 | 0x811bc836 | 211286 | Link | AEIOU Information Server |
3 | 0x811bc833 | 1484885 | Link | IICM Information Server |
4 | 0xc0a80112 | 15126 | Link | Hyperwave Root Collection |
Die Quelldaten dazu finden jeweils wie folgt:
http://www.osec.ch/rootcollection2 (1 entry) (im Quelltext):
<META NAME="Author" CONTENT="system"> <META NAME="DocumentType" CONTENT="collection"> <META NAME="GOid" CONTENT="0xd417eb28_0x00000002"> <META NAME="HW_ChildAccess" CONTENT="NO_ACCESS"> <META NAME="HW_CompoundSearchable" CONTENT="true"> <META NAME="HW_EffectiveAccess" CONTENT="READ_ACCESS"> <META NAME="HW_ObjectName" CONTENT="_id1_"> <META NAME="Name" CONTENT="rootcollection2"> <META NAME="ObjectID" CONTENT="0x00000002"> <META NAME="Rights" CONTENT="R:a, g everyone; W:a; A:a"> <META NAME="Subdocs" CONTENT="85372"> <META NAME="TimeCreated" CONTENT="2003/05/02 11:35:50"> <META NAME="TimeModified" CONTENT="2003/05/02 11:36:53"> <META NAME="Type" CONTENT="Document"> <META NAME="TITLE" LANG="de" CONTENT="Hyperwave Root Collection"> <META NAME="keywords" LANG="de" CONTENT="">
http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action (1 entry) (über lynx):
DocumentType: collection GOid: 0x811bc836_0x00000002 HW_EffectiveAccess: READ_ACCESS Name: rootcollection Subdocs: 211286 TimeModified: 1996/04/29 08:39:51 GMT Title: en:AEIOU Information Server Title: ge:AEIOU Informationsserver Type: Document
CSS Statistics: Beispiel (5 entries): http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action (über lynx):
DocumentType: collection GOid: 0x811bc833_0x00000002 HW_EffectiveAccess: READ_ACCESS Name: rootcollection Subdocs: 1484885 TimeModified: 05/22/2001 07:46:48 Title: en:IICM Information Server Title: ge:IICM Informationsserver Type: Document
Tabbed Statistics (23 entries): http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action (im Quelltext):
<tr> <td class="AttrName">Informationstyp:</td> <td class="AttrValue">collection<xy> </TD></TR> <tr> <td class="AttrName">Typ:</td> <td class="AttrValue">Document<xy> </TD></TR> <tr> <td class="AttrName">Objektkennung:</td> <td class="AttrValue">0xc0a80112 0x00000002<xy> </TD></TR> <!-- function HW_DC_dialogContent end for-loop 0 --> </TABLE> </CENTER></DIV> <!-- end div --> <script> document['f14'] = document.forms['f1']; document.forms['f14'] = document.forms['f1']; </script> <DIV CLASS="RealTabBodyContainer" TabNr="4" ID="Tab4"><CENTER> <script> gHandleShowTabCallbacks["4"]=[]; </script> <TABLE ID="TabTable4" BORDER="0" CELLPADDING="0" CELLSPACING="0"> <!-- function HW_DC_dialogContent start for-loop 0 --> <tr> <td class="AttrName">Verbundsuche:</td> <td class="AttrValue">true<xy> </TD></TR> <!-- function HW_DC_dialogContent end for-loop 0 --> </TABLE> </CENTER></DIV> <!-- end div --> <script> document['f13'] = document.forms['f1']; document.forms['f13'] = document.forms['f1']; </script> <DIV CLASS="RealTabBodyContainer" TabNr="3" ID="Tab3"><CENTER> <script> gHandleShowTabCallbacks["3"]=[]; </script> <TABLE ID="TabTable3" BORDER="0" CELLPADDING="0" CELLSPACING="0"> <!-- function HW_DC_dialogContent start for-loop 0 --> <tr> <td class="AttrName">Sortierreihenfolge:</td> <td class="AttrValue">#S<xy> </TD></TR> <!-- function HW_DC_dialogContent end for-loop 0 --> </TABLE> </CENTER></DIV> <!-- end div --> <script> document['f12'] = document.forms['f1']; document.forms['f12'] = document.forms['f1']; </script> <DIV CLASS="RealTabBodyContainer" TabNr="2" ID="Tab2"><CENTER> <script> gHandleShowTabCallbacks["2"]=[]; </script> <TABLE ID="TabTable2" BORDER="0" CELLPADDING="0" CELLSPACING="0"> <!-- function HW_DC_dialogContent start for-loop 0 --> <tr> <td class="AttrName">Besitzer:</td> <td class="AttrValue">hwsystem<xy> </TD></TR> <tr> <td class="AttrName">Rechte:</td> <td class="AttrValue">R:a, g everyone; W:a; A:a<xy> </TD></TR> <tr> <td class="AttrName">Rechte des aktuellen Benutzers:</td> <td class="AttrValue">READ_ACCESS<xy> </TD></TR> <tr> <td class="AttrName">Rechte für aktuelle Collection:</td> <td class="AttrValue">NO_ACCESS<xy> </TD></TR> <!-- function HW_DC_dialogContent end for-loop 0 --> </TABLE> </CENTER></DIV> <!-- end div --> <script> document['f11'] = document.forms['f1']; document.forms['f11'] = document.forms['f1']; </script> <DIV CLASS="RealTabBodyContainer" TabNr="1" ID="Tab1"><CENTER> <script> gHandleShowTabCallbacks["1"]=[]; </script> <TABLE ID="TabTable1" BORDER="0" CELLPADDING="0" CELLSPACING="0"> <!-- function HW_DC_dialogContent start for-loop 0 --> <tr> <td class="AttrName">Objektname:</td> <td class="AttrValue">/<xy> </TD></TR> <tr> <td class="AttrName">Aliasname (URL):</td> <td class="AttrValue">rootcollection<xy> </TD></TR> <tr> <td class="AttrName">Erstellt:</td> <td class="AttrValue"><SCRIPT>document.write(transformDate('2004/01/26 22:48:21',HWDate,HW_UI_Date.full,false));</SCRIPT><xy> </TD></TR> <tr> <td class="AttrName">Geändert:</td> <td class="AttrValue"><SCRIPT>document.write(transformDate('2006/12/29 09:50:30',HWDate,HW_UI_Date.full,false));</SCRIPT><xy> </TD></TR> <tr> <td class="AttrName">Link-Karte:</td> <td class="AttrValue"><span id="buttoncontainerbutton_id_0" CLASS="ButtonFrame" > <button NAME="" ID="button_id_0" TYPE="BUTTON" onclick="button_button_id_0_onclick_(this)">Ansicht</button> </span> <SCRIPT><!-- function button_button_id_0_onclick_(button) { button._onclick = function button_button_id_0_inner_onclick_() { opDlg('/0x00000000_0x00000002;internal&action=dialog.docreferences.back.action','dialogs'); } return button._onclick(); } //--></SCRIPT><xy> </TD></TR> <tr> <td class="AttrName">Enthaltene Objekte:</td> <td class="AttrValue">15126<xy> </TD></TR> <!-- function HW_DC_dialogContent end for-loop 0 --> </TABLE> </CENTER></DIV> <!-- end div --> <script> document['f10'] = document.forms['f1']; document.forms['f10'] = document.forms['f1']; </script> <DIV CLASS="RealTabBodyContainer" TabNr="0" ID="Tab0"><CENTER> <script> gHandleShowTabCallbacks["0"]=[]; </script> <TABLE ID="TabTable0" BORDER="0" CELLPADDING="0" CELLSPACING="0"> <!-- function HW_DC_dialogContent start for-loop 0 --> <tr> <td class="AttrName">Titel (Englisch):</td> <td class="AttrValue">Hyperwave Root Collection<xy> </TD></TR>
RobiH 13:30, 23 June 2007 (CEST)
Wieviele Gruppen gibt es hier? Und wieviele sind in jeder Gruppe? mutante 01:19, 24 June 2007 (CEST)
- Added counts. RobiH 01:32, 24 June 2007 (CEST)
done[edit]
den für 23 Einträge(TypNr4) hab ich erledigt. @mutante: Lohnen sich die anderen überhaupt? 1 Eintrag?! Ist zu erwarten das es noch andere mit dem gleichen format gibt?
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection4.php hexip 0xc0a80112 total 16904 link http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action title Hyperwave Root Collection
dito für den mit 5 einträgen(TypNr3):
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection3.php hexip 0x811bc833 total 1484885 link http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action title IICM Information Server
TypNr 2 funzt mit dem gleichen script wie TypNr 3.....
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection3.php hexip 0x811bc836 total 211292 link http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action title AEIOU Information Server
...und btw: auch ohne lynx ganz prima
zu TypNr 1:
hinter http://www.osec.ch/rootcollection2 verbirgt sich ein frameset. die gewünschten informationen kann ich dort nicht finden. see also Gespräch mit einem Suchmaschinen-Robot ;P
-->Task erledigt?
- Typ 1: Versuchs mal mit der URL http://www.osec.ch/rootcollection2?hyperwave=action%3Dplain.action RobiH 02:43, 14 July 2007 (CEST)
- Also die hexip finde ich dort schonmal definitiv nicht, den "total"-count auch nicht - oder hab ich den übersehn? "Title" wird jetzt erfasst... --took 00:48, 23 July 2007 (CEST)
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection1.php|grep d417eb28 took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection1.php [...] hexip total link http://www.osec.ch/rootcollection2?hyperwave=action%3Dplain.action title Hyperwave Root Collection
- Du hast recht, das isses noch nicht. Versuche mal http://www.osec.ch/rootcollection2 die Meta-Tags im Quelltext des Content-Frames (rechte Maustate) RobiH 06:49, 23 July 2007 (CEST)
Template "Subtasks for new table creation" / checklist[edit]
[1] Create new mysql table for XXX-Wikis [2] XXX-Wikis: Fill table with statsurls [2] XXX-Wikis: Create update_.php / fill table with values [2] XXX-Wikis: add update_php to cronjob [2] XXX-Wikis: create _html [2] XXX-Wikis: create_wiki, update links in _html [2] XXX-Wikis: create _csv,_ssv,_xml [2] XXX-Wikis: update links on Wikistats index [2] XXX-Wikis: update coalesced_query, check coalesced_html [2] XXX-Wikis: update largest_query, check largest_html [2] XXX-Wikis: define new color (hexvalue), check/update legends with color [2] XXX-Wikis: add Wiki page on S23 with table, update wikistats_extension in mediawiki [3] XXX-Wikis: optional: create page on XXX-Wikis itself, pasting _wiki code manually [3] XXX-Wikis: optional: ask took to create autohostlists and implement as cronjob
hmm, i bet still forgot something here
Adding Wikilivres?[edit]
Hello, Would you add Wikilivres to the list? It has currently 6,825 pages. Thanks, Yann 00:21, 1 October 2008 (CEST)
- Done. RobiH 18:42, 1 October 2008 (CEST)
Edit stats +[edit]
How about some stat's like
- Number of edits per page
- Number of Edits per Day
- Edits per User
A spin-of from these could be:
Most edited page's per wiki (Or Topic Trending)
Also What a bout a Twitter bot that posts these stat's?
Just have it run through the day and randomly choses a stat about a random wiki and Tweets it. I have some basics together, (ok so i googled and found a Perl Module and a nice example of how to "Perl Twit" Need to find a way to get data from wikistats/ pages!
- 1. These figures are not delivered by mediawiki stats, they'd have to be calculated.
- 2. That would be over 50,000 tweets per day. Who wants to be a follower of that?
RobiH 21:29, 14 June 2011 (CEST)
- 1. The calculations should be simple enough and im interested in learning _some_ DB stuff any how =)
- 2. Oh yes maybe not tweet about every thing then, Limit of 17 or 5 tweets a day? Maybe most number of edits in a day, most new pages...?
- 3. what's the difference between Total, and Good?
--DrOwl 10:28, 15 June 2011 (CEST)
Upgrade to API and automatic bulk additions[edit]
The stats are also an incredibly useful list of MediaWikis which can used for various purposes. For instance, I've used it to archive some dozens of wikis (WikiTeam), but I had to look for links to api.php and for license by hand. It would be great if you could automatically switch to API statistics (which give link to api.php). From the "rights" field in siteinfo it's often possible to automatically extract license info as well.
To increase the database, this script could be studied (list of 21000 MediaWikis, code).
Thank you, Nemo bis 01:25, 16 July 2011 (CEST)