私はwww.example.comのようなウェブサイトのURLを持っていますどのように特定のウェブサイトから社会情報を抽出するのですか?
このウェブサイトから:facebook url(facebook.com/example)、twitter url(twitter.com/example)ウェブサイトの任意のページでどこでも利用可能ならば、このタスクを完了するためにどのように
、任意のチュートリアル、ブログ、技術を提案する。..
私はwww.example.comのようなウェブサイトのURLを持っていますどのように特定のウェブサイトから社会情報を抽出するのですか?
このウェブサイトから:facebook url(facebook.com/example)、twitter url(twitter.com/example)ウェブサイトの任意のページでどこでも利用可能ならば、このタスクを完了するためにどのように
、任意のチュートリアル、ブログ、技術を提案する。..
(ウェブサイトのどのページに)それらのリンクが置かれている場所を正確にあなたが知らないので、あなたはおそらくあなたをベースにしますスパイダーのCrawlSpider
クラス。このようなスパイダーでは、リンク抽出とナビゲーションのルールをWebサイトで定義できます。この最小限の例を参照してください:
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class MySpider(CrawlSpider):
name = 'example.com'
start_urls = ['http://www.example.com']
rules = (
Rule(LinkExtractor(allow_domains=('example.com',)), callback='parse_page', follow=True),
)
def parse_page(self, response):
item = dict()
item['page'] = response.url
item['facebook_urls'] = response.xpath('//a[contains(@href, "facebook.com")]/@href').extract()
item['twitter_urls'] = response.xpath('//a[contains(@href, "twitter.com")]/@href').extract()
yield item
このクモはexample.com
ウェブサイトのすべてのページをクロールし、facebook.com
とtwitter.com
を含むURLを抽出します。
おそらく 1. htmlページレイアウトのヘッダー/フッターでリンクを検索します。それがそれらのための最も一般的な場所であるように。 2.同じサイトの他のページにある見つかったリンクと相互参照することができます。 3.サイト/組織の名前がリンクに含まれているかどうかを確認できます。しかし、この名前は信頼できる名前ではなく、絶対に奇妙なハンドルを使用するかもしれません。
これは私が考えることができるすべてです。
有用ですが、私は同じウェブサイトだけの社会的なURLを欲しいです。問題は、異なるドメイン(ウェブサイト)の複数の社会的なURLを持つウェブサイトがブログに似ている場合に発生します。 –
具体的な例で、詳細を指定した方がずっと簡単です。取得したいウェブサイトと情報を与えます。 –
実際に私は約10000のURLを持っており、私はすべてのために社会的なアドレスを収集したいので、私はこれをやりたい! –