Python 如何从给定的网站中提取社会信息?
我有一个类似www.example.com的网站URL 我想从这个网站上收集社会信息,比如:facebook url facebook.com/example,twitter url twitter.com/example等,如果可以在任何地方,在网站的任何页面上Python 如何从给定的网站中提取社会信息?,python,web-scraping,scrapy,social-networking,Python,Web Scraping,Scrapy,Social Networking,我有一个类似www.example.com的网站URL 我想从这个网站上收集社会信息,比如:facebook url facebook.com/example,twitter url twitter.com/example等,如果可以在任何地方,在网站的任何页面上 如何完成这项任务,建议任何教程、博客、技术。由于您不知道这些链接在网站的哪个页面上,您可能希望将蜘蛛放在课堂上。这种爬行器允许您定义链接提取和网站导航的规则。请参见以下示例: from scrapy.spiders import Cr
如何完成这项任务,建议任何教程、博客、技术。由于您不知道这些链接在网站的哪个页面上,您可能希望将蜘蛛放在课堂上。这种爬行器允许您定义链接提取和网站导航的规则。请参见以下示例:
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.您可以检查链接中是否包含站点/组织的名称。但这一个是不可靠的,因为名称可能略有不同或使用绝对奇怪的处理
这就是我所能想到的
import requests
from html_to_etree import parse_html_bytes
from extract_social_media import find_links_tree
res = requests.get('http://www.jpmorganchase.com')
tree = parse_html_bytes(res.content, res.headers.get('content-type'))
set(find_links_tree(tree))
来源:很有帮助,但我只想要同一网站的社交url。如果网站有多个不同领域网站的社交URL(几乎像blogsIt),那么问题就会出现。如果您在具体示例中更详细地指定了要求,那么blogsIt会容易得多。提供一个你想要检索的网站和信息。实际上我有大约10000个URL,我想收集所有人的社交地址,所以我想这样做!!只要提供一个例子就足够了。我不明白你最初的评论。