0

このウェブサイトの広告URLを取得する方法を探しています。 http://www.quiltingboard.com/resources/

私がやりたいのは、おそらくページを継続的に更新して広告URLを取得するスクリプトを書くことです。

なにか提案を?

4

4 に答える 4

1

BeautifulSoup だけでは十分ではありません。広告は JavaScript を介して挿入されます (ダブルクリック広告です)。

オプションは次のとおりです。

  • ページの読み込み後 10 ~ 15 秒で URL を検索するようにセレンのようなスクリプトを作成します。
  • 純粋な python にとどまる場合は、次のことを行う必要があります。

    1. 美しいスープで解析する最初のリクエストを行います
    2. Google が JavaScript で何を挿入しようとしていたかを把握する
    3. iframe またはペイロード URL をダブルクリックするための 2 番目のリクエストを作成する

これらのメソッドは、コンバージョン トラッキングを処理するダブルクリック URL のみを取得します。リダイレクト先を知りたい場合は、それらの URL を開いてリダイレクトを見つける必要があります。

于 2012-11-04T23:28:00.883 に答える
0

美しいスープはまさにあなたが探しているものです。

于 2012-11-04T23:15:47.627 に答える
0

画面上部のテキスト広告について話していると思います。

これらのリンクは、ページが読み込まれた後に JavaScript を使用して読み込まれるため、Python 解析ライブラリを直接使用することはできません。

1 つのオプションは、ブラウザーにページをロードできるようにするSeleniumのようなツールを使用することです。それが完了したら、BeautifulSoup を使用して、探しているリンクをスキャンできます。

from bs4 import BeautifulSoup

soup = BeautifulSoup(html)    
ads_div = soup.find('div', attrs={'class': 'ads'})
if ads_div:
    for link in ads_div.find_all('a'):
        print link['href']
于 2012-11-04T23:17:28.530 に答える
0

Scrapyをチェックアウトします。

Webスクレイピングライブラリです。これにより、Web サイトからの情報を非常に簡単にクロールおよびスクレイピングできます。上記のリンクは公式チュートリアルへのリンクです。これには、必要と思われる行にまたがるものを含む、多くのサンプル コードが含まれています。

サイトによると単純なスクレイピング:

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector

from tutorial.items import DmozItem

class DmozSpider(BaseSpider):
   name = "dmoz"
   allowed_domains = ["dmoz.org"]
   start_urls = [
       "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
       "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
   ]

   def parse(self, response):
       hxs = HtmlXPathSelector(response)
       sites = hxs.select('//ul/li')
       items = []
       for site in sites:
           item = DmozItem()
           item['title'] = site.select('a/text()').extract()
           item['link'] = site.select('a/@href').extract()
           item['desc'] = site.select('text()').extract()
           items.append(item)
       return items

これは、ライブラリを使用してリンクをスクレイピングするマイナーな例であり、次の結果が得られます。

[dmoz] DEBUG: <200 http://www.dmoz.org/Computers/Programming/Languages/Python/Books/ > {'desc': [u' - David Mertz 著。アディソン・ウェズリー。進行中の書籍、全文、ASCII 形式。フィードバックを求めます。[作者のウェブサイト、Gnosis Software, Inc.\n]、'link': [u'http://gnosis.cx/TPiP/']、'title': [u'Python でのテキスト処理']} [dmoz]デバッグ: <200 http://www.dmoz.org/Computers/Programming/Languages/Python/Books/からスクレイピング> {'desc': [u' - Sean McGrath 著; Prentice Hall PTR、2000 年、ISBN 0130211192、CD-ROM あり。XML アプリケーションを迅速に構築する方法、Python チュートリアル、DOM および SAX、新しい Pyxie オープン ソース XML 処理ライブラリ。[Prentice Hall PTR]\n'], 'link': [u'http://www.informit.com/store/product.aspx?isbn=0130211192'], 'title': [u'XML Processing with Python ']}

かなりクール。

于 2012-11-04T23:33:54.983 に答える