如何提取给定网站的社交信息?
问题描述:
我有一个网站的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.com
和twitter.com
网址。
答
最有可能要 1.搜索在HTML页面布局的页眉/页脚链接。因为这是他们最常见的地方。 2.您可以在同一网站的其他页面上找到链接并参考。 3.您可以检查网站/组织的名称是否在链接中。但是这个名称可能会有所不同,或者使用绝对陌生的手柄并不可靠。
这就是我能想到的。
有帮助,但我只需要同一网站的社交网址。如果网站拥有多个不同域名(网站)的社交网站,就像博客一样 –
如果您在具体示例中更详细地指定了需求,则会更容易。提供您想要检索的网站和信息。 –
实际上我有大约10000个网址,我想为所有人收集社交地址,所以我想要这样做! –