2017-02-07 3 views
1

Also ich versuche, einige Daten aus einem Forum (speziell Datum des letzten Beitrags) kratzen, funktionierte gut mit anderen Elementen für dieses genaue Forum jedoch das Datum Element hat super seltsam Klasse und egal wie viele Elemente ich hinzufüge, ich kann es nicht zielen, um es nur einmal zu bekommen.Python scraping letzten Beitrag Datum mit beutifulsoup aus einem komplizierten Forum

Dies ist mein Code-Snippet verwendet, um nur das Datum des letzten Beitrags zu erhalten.

import re 
import urllib 
import os 

from bs4 import BeautifulSoup 
from pip._vendor import requests 


def make_soup(url): 
    thepage = urllib.request.urlopen(url) 
    soupdata = BeautifulSoup(thepage, "html.parser") 
    return soupdata 

soup2 = make_soup('http://forums.automotive.com/69/1052/general-auto-repair/page1.html') 

lPostDate = "" 

for postDate2 in soup2.findAll('td', {"class": "brdr1 pad10_20 bgrnd19"}): 
    lPostDate += (postDate2.get_text("\n", strip=True)[0:10] + "\n") 
    print(lPostDate) 

aber das ist mein Ausgang jedes Mal: ​​

10/06/15 0 

10/06/15 0 
137 

10/06/15 0 
137 
49976 

10/06/15 0 
137 
49976 
02/04/17 1 

10/06/15 0 
137 
49976 
02/04/17 1 
1 

10/06/15 0 
137 
49976 
02/04/17 1 
1 
130 

10/06/15 0 
137 
49976 
02/04/17 1 
1 
130 
01/30/17 0 

10/06/15 0 
137 
49976 
02/04/17 1 
1 
130 
01/30/17 0 
0 

10/06/15 0 
137 
49976 
02/04/17 1 
1 
130 
01/30/17 0 
0 
145 

Und dies auch weiterhin für 1080 Zeilen auf ... würde es Tipps geschätzt. So gemacht mit einem anderen Forum mit "re.compile" und das funktionierte absolut gut, aber dieses Forum ist viel wählerischer bei der Benennung seiner Elemente.

Antwort

2
for tr in soup2.findAll('tr', id=re.compile('Thread')): 
    text = tr('td')[2].get_text(strip=True) 
    date = text.split('By')[0] # strip the By:... 
    print(date) 

aus:

10/06/15 05:47 PM 
02/04/17 11:58 PM 
01/30/17 08:44 PM 
01/26/17 12:44 AM 
01/22/17 06:25 PM 
01/19/17 02:23 PM 
01/18/17 10:52 PM 
01/18/17 04:57 PM 
01/17/17 04:15 PM 
01/17/17 04:12 PM 
01/14/17 08:34 PM 
01/12/17 08:00 PM 
01/10/17 02:21 PM 
01/10/17 01:00 PM 
01/08/17 11:45 PM 
+0

Schöne, vielen Dank. War überkompliziert Dinge :) – Norbis

Verwandte Themen