Seite 1 von 2

reg-ex-frage

Verfasst: 26.08.2006 12:07
von soziologie_student
moinsen,

habe eine echt schwere frage zu Regex.,


ich brauche ein PERL-regEX für ein phpBB-theme wie dieses hier.
ich muss einen harten job machen unter phpBB und ich muss mich in die reg Expressions von Perl einarbeiten.

Die Regex sind dafür gedacht, Teile aus der age source zu filtern.

also fangen wir an die Teiele:

[diese Teile habe ich aus http://www.phpbbdoctor.com/doc_tables.php ]

phpbb_categories Categories are the first level of organization for your board. Each forum belongs to a category, while a category may have one (or more) forums. Permissions, however, are set at the category level. If (because of permissions) a user ends up with an empty forum list for a category, then that category is not displayed on the forum index.
phpbb_forums Forums for your board. Each Forum belongs to a category. A forum contains Topics. User permissions are defined at the forum level, not the category level. That means that you can have forums with different levels of permissions within the same category. The optimal number of forums per category is open for debate.
phpbb_groups A group of users
phpbb_posts Posts for your board. Each post is part of a Topic.
phpbb_posts_text The text for the post
phpbb_topics Topics for your board. A Forum contains Topics. A Topic contains Posts.
phpbb_users Base user information, preference settings, and so on.
phpbb_user_group Cross-reference table between users and groups they belong to. Note that in the phpBB 2.x product every user is a member of at least one group.



danke furer die hilfe

sozi


What Regular Expressions Are Exactly - Terminology
http://www.regular-expressions.info/tutorial.html

Verfasst: 26.08.2006 12:12
von mad-manne
Beitrag abgetrennt von einem anderen Thema.
Bitte für eigene Fragen auch ein eigenes Thema aufmachen, damit man beim Helfen und Lesen eines Themas nicht durcheinanderkommt :wink:

Gruss,
Manne.

Verfasst: 26.08.2006 12:21
von soziologie_student
hallo mad-manne

vielen Dank für deine schnelle Antwort. Ich bin total begeister. Mad-Manne ich bin an einem Problem dran. und ich brauche jetzt Hilfe um ein Reg-Ex prob zu lösen. Ich glaube dass es für dich als Regex experten
kein grosses Problem ist.

ich mach dann mal einen eigenen Thread auf - vielen dank nochmals

gruss
soz :grin: i
mad-manne hat geschrieben:Beitrag abgetrennt von einem anderen Thema.
Bitte für eigene Fragen auch ein eigenes Thema aufmachen, damit man beim Helfen und Lesen eines Themas nicht durcheinanderkommt :wink:

Gruss,
Manne.

Verfasst: 26.08.2006 12:25
von mad-manne
soziologie_student hat geschrieben:ich mach dann mal einen eigenen Thread auf - vielen dank nochmals
das tut keine Not, da du dich bereits in dem eigenen Thema befindest, welches ich für dich durch das Abtrennen deines Beitrags erstellt habe :roll:
Ich glaube dass es für dich als Regex experten
kein grosses Problem ist.
Wie kommst du auf die Idee, ich sei ein Regex-Experte :oops: Es ist eher das Gegenteil der Fall!

So long,
Manne.

Verfasst: 26.08.2006 12:42
von soziologie_student
Hallo Mad-Manne & Wizigkiller,

ich denke dass das problem für jemanden der

1. sich mit phpBB gut auskennt
2. etwas PHP / oder Perl-Erfahrung hat

kein mega-Problem darstellt. Vielleicht ist es einfach nur eine Fleissarbeit.
Hmm- ich muss jetzt gucken wie ich das Problem noch einmal sinnvoll darstelle. Es geht mir um die Aufgabe eine Source eines Threads zu parsen. Ich will die Daten über Regex rausziehen die dann im Ergebnis folgendes übrig lässt.


phpbb_categories
phpbb_forums
phpbb_groups
phpbb_posts Posts
phpbb_posts_text The text for the post
phpbb_topics Topics
phpbb_users Base user info
phpbb_user_group

hmm - ich hoffe dass das auch ohne ein CodeBeispiel zu verstehen ist. Im g runde denke ich schon. Denn den Source eines Threads kann man ja sicher von zuhause aus angucken.

Eine Problematik ist - dass das ganze wohl auch skin-Abhängig ist - ich bin aber an einem Stndard-Skin interessiert und würde sagen dass das auf eine StandardSkin bezogen sein kann.

Hmm ich hoffe ich kjonnte das nun alles schreiben was wichtig ist.

gruss
soz :grin:

mad-manne hat geschrieben:
soziologie_student hat geschrieben:ich mach dann mal einen eigenen Thread auf - vielen dank nochmals
das tut keine Not, da du dich bereits in dem eigenen Thema befindest, welches ich für dich durch das Abtrennen deines Beitrags erstellt habe :roll:
Ich glaube dass es für dich als Regex experten
kein grosses Problem ist.
Wie kommst du auf die Idee, ich sei ein Regex-Experte :oops: Es ist eher das Gegenteil der Fall!

So long,
Manne.

nochmlas Danke für die Antworten an euch Beide Mad Mann und Wizigkiller.

hmmm Manne und Wizigkiller, ich glaube dass wir das zusammen rauskriegen - wenn du nur etwas mehr wießt als ich dann kriegen wir dass sicher zusammen hin.

hmm - lass uns dasversuchen.

greets
soz :grin:

Verfasst: 26.08.2006 12:45
von witzigerkiller
also, klär mich mal auf... du willst mit eine/m/r regexp einen quelltext durchsuchen und die bestimmten sachen dann ausgeben oder was?

Verfasst: 26.08.2006 12:55
von soziologie_student
hallo

ja genau
witzigerkiller hat geschrieben:also, klär mich mal auf... du willst mit eine/m/r
regexp einen quelltext durchsuchen und die bestimmten sachen dann ausgeben oder was?
ich glaube dass du mich richtig verstehest. Ich habe eben gegoogled und was gefunden - glaube aber nicht dass das die Lösung ist - umgesetzt mit Python.

Tutorial: Converting a phpBB forum into an RSS feed using Python.
http://www.programmers-corner.com/tutorial/67

was meinst du - ist das eine pythonbasierte loesung? Ich gucke mir das nochmals an und komme retour. bis später.

greetz
sozi :grin:

Verfasst: 26.08.2006 12:56
von FatFreddy
Moin!

Kann es sein, daß Du dein Thema "data-grabbing & mining - sql-statement nötig" wieder aufgreifst? ;)

Ich glaube nicht, daß dir hier jemand gerne hilft Daten aus fremden Boards auszulesen.

FatFreddy

Verfasst: 26.08.2006 13:00
von witzigerkiller
und ich wollte gerade editieren und fragen nach was er suchen will.

ist dieses sogenannte "data-grabbing" denn strafbar? ansonsten helf ich weiter.

Verfasst: 26.08.2006 13:08
von soziologie_student
Ahoi Leute!


vielen Dank für die Antworten! und vorweg einen ganz herzlichen Dank, dafür dass ihr den Thread nicht gleich geschlossen habt. Das wäre imho nicht der richtige Schritt - lasst mich eingies erklären. Also - um mal was zu klären. Ich bin an einer Arbeit fuer die Hochschule. DA geht es um eine Auswertung.
witzigerkiller hat geschrieben: und ich wollte gerade editieren und fragen nach was er suchen will. .... ansonsten helf ich weiter.
Ich kann das alles sehr genau erklären -. Die Daten, die ich benötige sind alle online. Es geht mir um eine Linguistische Arbeit, bei der ich Diskussionen auswerten soll.

Ich brauche für das Auswerten nur eine bessere Retrieval Funktion. Aber wenn jemand mit mir darüber diskutieren will, ob man Retrieval über die Suchfunktionen herstellen soll, die ein Board im Netz bietet, oder lieber die Suchfunktion auf einer lokalen Datenbank vornehmen will dann lass ich mich auf diese Diskussion gerne ein.

Um ein Beispiel zu geben: Meine Arbeit ist vergleichbar mit dem Auswerten einer Tageszeitung - Meine Kollegen an der Uni habe das vor 25 Jahren eben mit Zeitungen gemacht. Ich arbeite am Internet und werte hier Diskussionen aus. All diese Disussionen sind Online - und zwar ubiquitär - lesbar von Alaska bis Feuerland - von Los Angeles bis Moskau... bitte - fangen wir an. Mediengeschichtlich ist die Kritik am GRABBEN so alt wie Medien selber. Und in einer anderen Ausprägung hat man leute vor mehrern Hundert Jahren an den Pranger gestellt, die sich Romane gekauft und gelesen haben. oder man hat Gutenberg für den Verfall der Sitten verantwortlich gemacht weil er den Buchdruck nach Vorn gebracht hat. Und wie viele Schuld- und SchandeTode musste Tim Berners Lee wohl schon virtuell sterben weil er mit seinen Erfindungen das Internet ins Laufen gebracht hat? Jetzt haben wir es - und ich wills eben nutzen - nicht nur mit dem Browser - das ist alles.

Allerdings: Über die letzten Rechtnlichen Implinkationen weiss ich nichts - Kann also nicht im letzten begrüden dass ein Harvesten hier total rechtskonform ist.

Wir können gerne über beide Aspekte reden und diskutieren - über die Online-Offline Aspekte einer Auswertung bzw eines Lesens und vielleicht sollten wir das auch ausführlich tun - ehe wir dann wieder zum Technischen kommen das mich natürlich auch brennend interessiert - als Perl / PHP-Anfänger....

Jetzt freu mich auf eure Beiträge - die technischen und auch sonst alles.

greetz
soz;-)

- sig; there is no right or wrong only fun and boring

ps; Mehr über die Arbeitsrichtung und Fragestellung;

http://opensource.mit.edu/online_papers.php http://opensource.mit.edu/

www.qualitative-sozialforschung.de/ Plattform rund um Fragen qualitativer Forschung im Web. Methoden, Diskussionen, ....

Und wenn wir zum Technischen kommen; hier noch einige Ideen; beautiful soup ein Python Parser kann das auch

http://www.crummy.com/software/BeautifulSoup

beautiful soup Kann das auch; Hier ein Beispeil füer ein Thread;

Code: Alles auswählen

beautiful soup ist ein Python Parser: siehe  http://www.crummy.com/software/BeautifulSoup

 <link rel="prev" href="viewtopic.php?t=23236&view=previous" title="View previous topic" />

soup.findAll('link', rel='prev')

 <link rel="next" href="viewtopic.php?t=23236&view=next" title="View next topic" />

as above, soup.findAll('link', rel='next')

 <link rel="up" href="viewforum.php?f=17" title="PHP-Nuke Module Discussions" />

 wie oben , soup.findAll('link', rel='up')

 <span class="nav"><a href="posting.php?mode=newtopic&f=17
forum 17

soup.findAll('a', href=re.compile("posting.php.*newtopic"))
we use here a regular expression to extract the forum ID.

 <td class="catHead" colspan="2"height="28"><span class="nav"><a href="viewtopic.php?t=23236

Use a regular expression as above, but "viewtopic" isntead of "newtopic".
Hier nochmals der Link zu dem Python Parser Beautiful soup. http://www.crummy.com/software/BeautifulSoup


Update am Sonntag 28. august 2006: - vielen Dank für das fette Board hier - mit 10 tausend user. Fettes Megabrain mit viel Wissen. Freu mich immer wieder hier zu posten, zu diskutieren usw usf.

so what: was meint ihr hierzu: probs koennten auftauchen mit dem post-text, da er von keinerlei html/php codezeichen umrandet ist.
Code:
/<td width="\d+" align="\w+" valign="\w+" class=".*"><span class="name"><a name="\d+"></a><b>(.*)</b></span><br /><span class="postdetails">Mitglied<br /><br /><br />Anmeldedatum: (.*)<br />Beiträge: (.*)<br />/
Subpattern 1 liefert den Usernamen, Subpattern 2 das Anmeldedatum des Users und Nr 3 die Beitragsanzahl.
Code:
/\s+<td width="100%"><a href="viewtopic.php?p=\d+#\d+"><img src=".*" width="\d+" height="\d+" alt="Beitrag" title="Beitrag" border="\d+" /></a><span class="postdetails">Verfasst am: (.*)<span class="gen">&nbsp;</span>&nbsp; &nbsp;Titel: (.*)</span></td>/
Subpattern1 ist das Verfassungsdatum, Nr2 der Titel.

Bin gleich wieder weg, hab grad nicht genau überprüft ob Metazeichen & sonst. Zeichen vorhanden sind, die mit einem Backslash gecapt werden müssen.
Zitat:
^ $ + ? . * ( ) [ ] { } / \ | [/quote]


btw: HTML/PHP Code ist ja immer voll davon, müsste man also noch rausnehmen.

Ideen, Meinungen und phpBB-experten haben vielle noch ein paar Gedanken. Freu mich über jeden Beitrag.

greetz
soz :grin: