DIVS/Yahoo

Everything about using Adblock Plus on Mozilla Firefox, Thunderbird and SeaMonkey
Post Reply
Paulfox

DIVS/Yahoo

Post by Paulfox »

Ok all - I need some help in producing AdBlock Plus DIV filters to replace RIP's.

have some "lenghty" Yahoo-specific filters which up til recently have done wonders. However, there is a new "slant" on at Yahoo, and all sorts of flashing nonsense and new forms of ads. The only way I could get rid of them was by using the following "RIP" (remove it Permanently) ON TOP of my existing and complicated AdBlock Filters.

I found that using the generic Yahoo filters caused loss of content, at least for me. Address book, links, photos, etc - would sometimes disappear. So my filters are very specific.

I believe the exported "RIP" information below could be replaced (and RIP along with it) by AdBlock Plus filters but I don't know how to do it:

/html/body/table/tbody/tr/td[1]/div[3]/div[2]/a[2]/p[1]
/html/body/table/tbody/tr/td[1]/div[3]/div[2]/a[2]/p[2]
/html/body/table/tbody/tr/td[1]/div[3]/div[3]/a[2]/p[1]
/html/body/table/tbody/tr/td[1]/div[3]/div[3]/a[2]/p[2]
/html/body/table/tbody/tr/td[1]/div[3]/div[4]/a[2]/p[1
/html/body/table/tbody/tr/td[1]/div[3]/div[4]/a[2]/p[2]
/html/body/table/tbody/tr/td[1]/div[3]/div[3]
/html/body/table/tbody/tr/td[1]/div[3]/div[2]
/html/body/table/tbody/tr/td[1]/div[3]/div[4]
/html/body/table/tbody/tr/td[1]/div[3]/div[1]
/html/body/center/small
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/table[2]/tbody/tr/td[2]
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/table[2]/tbody/tr/td[1]/div/img
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/div/div[2]/div/div
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/div/div[3]
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/div/div[1]
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[3]/center/table/tbody/tr/td/font
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/table[3]/tbody/tr/td[3]
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/div/div[2]
/html/body/table/tbody/tr/td[1]/div[1]/div[2]/div/p/table/tbody/tr/td[2]/a/font
/html/body/table/tbody/tr/td[1]/div[1]/div[3]
/html/body/table/tbody/tr/td[1]/div[1]/div[1]
/html/body/table/tbody/tr/td[1]/div[1]/div[2]
/html/body/table[2]/tbody/tr/td[4]/table/tbody/tr/td/font
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[1]/p[1]/a
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[1]/p[2]/a
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[2]/a[2]/p[1]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[2]/a[2]/p[2]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[3]/a[2]/p[1]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[3]/a[2]/p[2]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[4]/a[2]/p[1]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[4]/a[2]/p[2]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[3]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[2]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[4]
/html/body/table[2]/tbody/tr/td[1]/div[3]/div[1]
/html/body/center/center[2]/table/tbody/tr[2]/td[3]/table/tbody/tr/td/font
/html/body/center/center[3]/table/tbody/tr/td
/html/body/center/center[2]/table/tbody/tr[2]/td[3]/table/tbody/tr/td
/html/body/center/center[2]/table/tbody/tr[2]/td[3]/table
/html/body/center[2]/table/tbody/tr[1]/td
/html/body/center[2]/hr
/html/body/center[1]/table[4]/tbody/tr/td[1]/div/table/tbody/tr[1]/td/font
/html/body/form/center /html/body/center/table[4]/tbody/tr[2]/td[3]/table/tbody/tr/td/font
/html/body/center/center/hr
/html/body/table/tbody/tr/td[4]/table/tbody/tr/td/font
/html/body/table/tbody/tr/td[3]/table/tbody/tr/td[3]/table/tbody/tr/td/font
/html/body/form[2]/table/tbody/tr/td[4]/table/tbody/tr/td/font
/html/body/div[2]/div/div[3]/div/div[1]/div[1]/div[2]/table/tbody/tr/td/font
/html/body/form[2]/table/tbody/tr/td[3]/div[3]/ul/li
/html/body/form[2]/table/tbody/tr/td[3]/div[2]/div[2]/p
/html/body/form[2]/table/tbody/tr/td[3]/div[2]/div[2]/h3
/html/body/form[2]/table/tbody/tr/td[3]/div[3]/h3
/html/body/form[2]/table/tbody/tr/td[3]/div[2]/div[3]
/html/body/form[2]/table/tbody/tr/td[3]/div[2]/div[1]
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[3]/center/table/tbody/tr/td/form/table/tbody/tr[2]/td


/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[3]/center/table/tbody/tr/td/form/table/tbody/tr[4]/td /html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[3]/center/table/tbody/tr/td/form/table
/html/body/div/div/div[2]/div/div[1]/img
/html/body/div/div/div[2]/div/div[1]/div/div/div/p[1]
/html/body/div/div/div[2]/div/div[1]/div/div/div/p[2]
/html/body/div/div/div[2]/div/div[1]/div/div/div/img
/html/body/div/div/div[2]/div/div[2]/div[1]/div/h3
/html/body/div/div/div[2]/div/div[2]/div[1]
/html/body/div/div/div[2]/div/div[2]/div[4]
/html/body/div/div/div[2]/div/div[2]/div[3]
/html/body/div/div/div[3]/p[3]
/html/body/div/div/div[3]/p[2]
/html/body/div/div/div[3]/p[1]/a[1]
/html/body/div/div/div[2]/div/div[1]/div/div
/html/body/div/div/div[2]/div/div[1]/div
/html/body/div/div/div[2]/div/div[1]
/html/body/div/div/div[3]/p[1]
/html/body/table/tbody/tr/td[3]/table[2]/tbody/tr/td[1]/table[2]/tbody/tr/td[3]
/html/body/div/div/div[2]/div/div[2]/div[2]/div/h3
/html/body/div/div/div[2]/div/div[2]/div[2]/div/cite
/html/body/div/div[1]/div[2]/div[2]/div[4]
/html/body/div/div[1]/div[2]/div[2]/div[3]/div/cite
/html/body/div/div[1]/div[2]/div[2]/div[3]/div/h3
/html/body/div/div[1]/div[2]/div[2]/div[3]
/html/body/div/div[2]/p[2]
/html/body/div/div[2]/p[3]
/html/body/div/div[2]/p[1]
/html/body/div/div[2]
/html/body/table[1]/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td
/html/body/table[1]/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[1]/td[2]
/html/body/div/div[1]/div[1]/div[2]
/html/body/form[2]/table/tbody/tr/td[4]
/html/body/form[2]/table/tbody/tr/td[3]/div[3]/table/tbody/tr[1]/td
/html/body/form[2]/table/tbody/tr/td[3]/div[3]
/html/body/form[2]/table/tbody/tr/td[3]/div[2]/table/tbody/tr/td[2]
/html/body/center/center/table/tbody/tr/td
/html/body/center/table[4]/tbody/tr[2]/td[3]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[1]/td[2]
/html/body/center/table[4]/tbody/tr[2]/td[3]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td[4]
/html/body/center/table[4]/tbody/tr[2]/td[3]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[1]/td[4]
/html/body/center/table[4]/tbody/tr[2]/td[3]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td[6]
/html/body/center/table[4]/tbody/tr[2]/td[3]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td[2]

Sorry for the long list (I abbreviated about 40% of the "notations" to save space) - but I wanted to be accurate in what "works." This allows nothing but the "guts" to be viewable. The advantage of using AdBlock Plus to do this (if possible) - would not only be not needing RIP, but faster page loading since AdBlock Plus is doing it all without needing "help."

Is the above "writable" or replaceable in a regex for DIVs? MUCH THANKS in advance if anyone can "give me a start" at least. Cheers/p
User avatar
mcm
Posts: 359
Joined: Sat Jun 10, 2006 2:36 am

Post by mcm »

Well Adblock Plus links DIVs by their ID or CLASS name. If it doesn't have one then it can't be uniquely identified very easily. So you might not be able to get rid of RIP entirely which is finding elements by where they appear in the hierarchy but you could reduce the list down by a reasonable amount.

I'm not too sure what to suggest other than disabling RIP and clicking on the status bar icon text for Adblock and selecting the DIVs listed one by one and block them. Afterwards with the list of URLs for the DIV sections look for keywords to create a list of Adblock Filters. If you want post them here and I can help.
Paulfox

Post by Paulfox »

Thank you very much, mcm. I'm currently unsure of how to MAKE a "DIV" filter (syntax) - so will research it in and around your website (?) and see what I can do or come up with. I know that:

us.ard.yahoo

is coming up a lot, but a simple AdBlock filter won't do anything to stop them, and if I disallow cookies from Yahoo I can't sign in.

Yahoo is the worst offender in all this - I normally don't see any ads with my filterset - but they're "stubborn," and over the last 6 weeks have realy upped the ante in terms of # of ads you see. One I have really helps for the flash:

/mail\.yahoo\.com/\.swf/
Paulfox

Post by Paulfox »

This is BRANDNew Junk today - it's really getting ridiculous - the "RIP" is about 3 feet long, and the stuff keeps coming back in different menus despite blocking "for domain."


http://i11.photobucket.com/albums/a163/ ... ewJunk.jpg

Fortunately, the blue "text" was removed via RIP long ago:
http://i11.photobucket.com/albums/a163/ ... ueText.jpg

This DOES NOT show up on "DIV" elements listed in AdBlock plus. Every other piece of the frame does - but not htese ads. Drivin' me nuts to the point of thinking "dump Yahoo;" at least Google is inobtrusive, although their filtering isn't nearly as good as Yahoo's.

Any help would be appreciated.
User avatar
mcm
Posts: 359
Joined: Sat Jun 10, 2006 2:36 am

Post by mcm »

They might not be DIVs or if they are they don't have an ID or CLASS name attribute. Try changing "adblock.elemtypes" to "//*" under about:config. This will display all elements on the page with an ID or CLASS name under the Adblockable-items dialog. Once your finished add the relevant types you want like "//div|//span|//table|//td" to that preference as "//*" will likely slow done Firefox too much on certain pages.
Paulfox

Post by Paulfox »

Paulfox wrote:OK! I'm gettin' smarter! Alert the press . . .

I wiped the "RIP," checked "check DIV elements," and called up page information - but this time was able to find a lot and effectively block with AdBlock Plus! Woohoo: here's the list of filters I want to make a regex:

http://us.f532.mail.yahoo.com/ym/ShowFo ... DIV(first)
http://us.f532.mail.yahoo.com/ym/ShowFo ... #DIV(last)
http://us.f532.mail.yahoo.com/ym/ShowFo ... eviewmenu)
http://us.f532.mail.yahoo.com/ym/login? ... DIV(Th_ov)
http://us.f532.mail.yahoo.com/ym/login? ... ercontrol)
http://us.f532.mail.yahoo.com/ym/login? ... DIV(first)
http://us.f532.mail.yahoo.com/ym/login? ... #DIV(last)
http://us.f532.mail.yahoo.com/ym/login? ... er*filled)

http://mail.yahoo.com/?.intl=us#DIV(yregbnr)
http://mail.yahoo.com/?.intl=us#DIV(yregft)
http://mail.yahoo.com/?.intl=us#DIV(yregtxt)
1-2 would be fantastic and I have t2 questions:
1. I'm pretty good at compiling/shortenting/combining filters without errors. What would be the simplest "DIV"reg ex that would exclude the "http," and

2. Do I allow these filters to work on other pages - or do you want to make them ONLY work for Yahoo to avoid false positives? In other words
#DIV combined with regbnr might not be good, right? I have NO IDEA what the "regex start and end with forward slash" language is for DIVs - and thanks for your attention and help. I KNEW you could do it with AdBlock Plus. Yeah, baby!!!

PS, I have no clue why that showed up as a "quote," instead of an amended post. It'll be interesting to see if this is a 3rd "balloon." Cheers.
User avatar
mcm
Posts: 359
Joined: Sat Jun 10, 2006 2:36 am

Post by mcm »

I think probably making them yahoo specific is a good idea unless you can identify a likely keyword for adverts.

I made this list:
yahoo*#DIV(first)
yahoo*#DIV(last)
yahoo*#DIV(messageviewmenu)
yahoo*#DIV(Th_ov)
yahoo*#DIV(filtercontrol)
yahoo*#DIV(modulecontainer*filled)
yahoo*#DIV(yregbnr)
yahoo*#DIV(yregft)
yahoo*#DIV(yregtxt)
yahoo*#DIV(leftnavad)
yahoo*#DIV(swads)
yahoo*#DIV(quotameter)
yahoo*#DIV(addressbookshortcuts)
yahoo*#DIV(alertbox)


And passed it through this optimiser:
http://adblock.free.fr/optimize/

To get this regexp:
/yahoo.*#div\((l(ast|eftnavad)|a(ddressbookshortcuts|lertbox)|fi(ltercontrol|rst)|m(essageviewmenu|odulecontainer.*filled)|yreg((f|tx)t|bnr)|quotameter|swads|th_ov)\)/
Paulfox

Post by Paulfox »

That's pure genius - gotta get that "optimizer!!"

In the meantime I got a bunch more that I'm hesitant to "amend to above post - shouldn't be longer than 20 lines so I'll ost it here if you don't mind. This all but ELIMINATES the need for the "RIP;" Yahoo stuff is stubborn and shows up again in different menus (needing different filter names). Here's the "more or less complete list" of elements, but I'll try your filter and see what happens. Soooooo very cool. Thanks mcm.

http://address.mail.yahoo.com/#DIV(first)
http://address.mail.yahoo.com/#DIV(last)
http://address.mail.yahoo.com/#DIV(swads)
http://image.weather.com/web/services/*
http://images.itnation.com/images/*
http://img.icbdr.com/nlUtils/Common.js
http://login.yahoo.com/config/login?log ... DIV(Th_ov)
http://mail.yahoo.com/?.intl=us#DIV(yregbnr)
http://mail.yahoo.com/?.intl=us#DIV(yregft)
http://mail.yahoo.com/?.intl=us#DIV(yregtxt)
http://us.f532.mail.yahoo.com/ym/ShowFo ... (alertbox)
http://us.f532.mail.yahoo.com/ym/ShowFo ... DIV(first)
http://us.f532.mail.yahoo.com/ym/ShowFo ... #DIV(last)
http://us.f532.mail.yahoo.com/ym/ShowFo ... leftnavad)
http://us.f532.mail.yahoo.com/ym/ShowFo ... eviewmenu)
http://us.f532.mail.yahoo.com/ym/ShowFo ... DIV(first)
http://us.f532.mail.yahoo.com/ym/ShowFo ... #DIV(last)
http://us.f532.mail.yahoo.com/ym/ShowFo ... eviewmenu)
http://us.f532.mail.yahoo.com/ym/ShowFo ... shortcuts)
http://us.f532.mail.yahoo.com/ym/ShowFo ... DIV(swads)
http://us.f532.mail.yahoo.com/ym/ShowFo ... DIV(first)
http://us.f532.mail.yahoo.com/ym/ShowFo ... DIV(swads)
http://us.f532.mail.yahoo.com/ym/blocks ... leftnavad)
http://us.f532.mail.yahoo.com/ym/login? ... DIV(Th_ov)
http://us.f532.mail.yahoo.com/ym/login? ... ercontrol)
http://us.f532.mail.yahoo.com/ym/login? ... DIV(first)
http://us.f532.mail.yahoo.com/ym/login? ... #DIV(last)
http://us.f532.mail.yahoo.com/ym/login? ... er*filled)
http://us.f532.mail.yahoo.com/ym/login? ... ercontrol)
http://us.f532.mail.yahoo.com/ym/login? ... DIV(first)
http://us.f532.mail.yahoo.com/ym/login? ... leftnavad)
http://us.f532.mail.yahoo.com/ym/login? ... er*filled)
http://us.f532.mail.yahoo.com/ym/login? ... uotameter)
http://us.f532.mail.yahoo.com/ym/login? ... leftnavad)
http://us.f532.mail.yahoo.com/ym/login? ... DIV(swads)

Filter too strong, Yahoo no loady at all! (using)
/yahoo.*#div\(((fi(ltercontrol|rst)|m(essageviewmenu|odulecontainer.*filled)|last|th_ov)\)|yreg)/
That's ok - I'll work with it. It all, I think, boils down to adding (leftnavad, swads, alertbox and quotameter) to your filter and that'll be all of it! What's really cool is the pages load much faster w/AB+ Filters than they did before - Rockin'. What a GODSEND.
Paulfox

Post by Paulfox »

Yeah - simple. Just don't need the "yreg" at the end.

OK - we're THERE now I see you amended your brilliant filter - yes, except ending is cut short to eliminate "yreg":

/yahoo.*#div\(((a(ddressbookshortcuts|lertbox)|fi(ltercontrol|rst)|l(ast|eftnavad)|m(essageviewmenu|odulecontainer.*filled)|quotameter|swads|th_ov)\))/
User avatar
mcm
Posts: 359
Joined: Sat Jun 10, 2006 2:36 am

Post by mcm »

Post ammended, I was using the "yahoo*#DIV(yreg" to catch the yregbnr, yregft & yregtxt divs but obviously it caught other divs that start with "yreg" as well that you didn't want. I've made it specific now so it should only block those things in your list now. Unless of course some of the false positive divs have the same id as the one you wanted to block.
Paulfox

Post by Paulfox »

I've said it before . . . mcm for Governor.

A million thanks Chief - I'll test it out but I'm sure it's GREAT!! Thank you.

That "yreg" thing I made into a 2nd filter:
/yahoo.*#div\yreg(bnr|ft|txt)/ - DIDNT WORK.

But this one does:
/yahoo\.com/\?\.intl=us#DIV\(yreg(f|tx)t\)/

Although I suppose it could be incorporated at the end of YOURS. 1 last question - filters aren't case sensitive, right? I see you used "div," but I've seen "DIV" elsewhere. It doesn't matter? Which is "more" correct?

Cheers!!
User avatar
mcm
Posts: 359
Joined: Sat Jun 10, 2006 2:36 am

Post by mcm »

I see, I guess you can't just block all divs named yregbnr without getting problems. Your secondary filter is the way to go then. I see from your pics ;) you still have a couple of ads left but it is certainly a lot cleaner interface now.

No, filters are not case sensitive. Behind the scenes Adblock adds the ignore case to your filters before checking them.
Guest

Post by Guest »

mcm wrote:I think probably making them yahoo specific is a good idea unless you can identify a likely keyword for adverts.

I made this list:
yahoo*#DIV(first)
yahoo*#DIV(last)
yahoo*#DIV(messageviewmenu)
yahoo*#DIV(Th_ov)
yahoo*#DIV(filtercontrol)
yahoo*#DIV(modulecontainer*filled)
yahoo*#DIV(yregbnr)
yahoo*#DIV(yregft)
yahoo*#DIV(yregtxt)
yahoo*#DIV(leftnavad)
yahoo*#DIV(swads)
yahoo*#DIV(quotameter)
yahoo*#DIV(addressbookshortcuts)
yahoo*#DIV(alertbox)


And passed it through this optimiser:
http://adblock.free.fr/optimize/

To get this regexp:
/yahoo.*#div\((l(ast|eftnavad)|a(ddressbookshortcuts|lertbox)|fi(ltercontrol|rst)|m(essageviewmenu|odulecontainer.*filled)|yreg((f|tx)t|bnr)|quotameter|swads|th_ov)\)/
Guest_

Post by Guest_ »

thanks, mcm

That optimiser is great, would of saved me alot of time writing filters out by hand.

translated into english
Post Reply