如何提取给定网站的社交信息?

问题描述:

我有一个网站的URL像www.example.com如何提取给定网站的社交信息?

我想收集这个网站的社会信息,如:facebook的网址(facebook.com/example),推特网址(twitter.com/example)等,如果可以在任何地方,在网站的任何页面。

如何完成这个任务,建议任何教程,博客,技术..

既然你不知道到底哪里(哪个网站的页面),这些链接的位置,你可能想你基地蜘蛛CrawlSpider类。这样的蜘蛛可以让你定义链接提取和网站导航的规则。看到这个小例子:

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.comtwitter.com网址。

+0

有帮助,但我只需要同一网站的社交网址。如果网站拥有多个不同域名(网站)的社交网站,就像博客一样 –

+0

如果您在具体示例中更详细地指定了需求,则会更容易。提供您想要检索的网站和信息。 –

+0

实际上我有大约10000个网址,我想为所有人收集社交地址,所以我想要这样做! –

最有可能要 1.搜索在HTML页面布局的页眉/页脚链接。因为这是他们最常见的地方。 2.您可以在同一网站的其他页面上找到链接并参考。 3.您可以检查网站/组织的名称是否在链接中。但是这个名称可能会有所不同,或者使用绝对陌生的手柄并不可靠。

这就是我能想到的。