⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 web.py

📁 Yahoo!search API. 用于搜索引擎接口
💻 PY
字号:
"""yahoo.search.web - Web Search services moduleThis module implements the Web Search web services, searching web content.The supported classes of web searches are:        WebSearch           - Web Search    ContextSearch       - Web Search with a context added    RelatedSuggestion	- Web Search Related Suggestion    SpellingSuggestion	- Web Search Spelling SuggestionAn application ID (appid) is always required when instantiating a searchobject. In addition, each search class takes different set of parameters,as defined by this table                 Web   Context  Related  Spelling                -----  -------  -------  --------    query        [X]     [X]      [X]       [X]    region       [X]      .        .         .    context       .      [X]       .         .    type         [X]     [X]       .         .    results      [X]     [X]      [X]        .    start        [X]     [X]       .         .    format       [X]     [X]       .         .    adult_ok     [X]     [X]       .         .    similar_ok   [X]     [X]       .         .    language     [X]     [X]       .         .    country      [X]     [X]       .         .    site         [X]      .        .         .    subscription [X]      .        .         .    output       [X]     [X]      [X]       [X]    callback     [X]     [X]      [X]       [X]Each of these parameter is implemented as an attribute of eachrespective class. For example, you can set parameters like:    from yahoo.search.web import WebSearch    srch = WebSearch(app_id="YahooDemo")    srch.query = "Leif Hedstrom"    srch.results = 40    for res in srch.parse_results():       print res.Url"""import typesimport yahoo.searchimport yahoo.search.dom.web__revision__ = "$Id: web.py,v 1.10 2007/02/28 05:20:11 zwoop Exp $"__version__ = "$Revision: 1.10 $"__author__ = "Leif Hedstrom <leif@ogre.com>"__date__ = "Sun Feb 25 21:47:52 MST 2007"## WebSearch class#class WebSearch(yahoo.search._CommonSearch):    """WebSearch - perform a Yahoo Web Search    This class implements the Web Search web service APIs. Allowed    parameters are:            query        - The query to search for (UTF-8 encoded).        region       - The regional search engine on which the service                       performs the search. For example, region=uk will give                       you the search engine at uk.search.yahoo.com.        type         - The kind of search to submit (all, any or phrase)                          * all returns results with all query terms.                          * any resturns results with one or more of the                            query terms.                          * phrase returns results containing the query                            terms as a phrase.        results      - The number of results to return (1-100).        start        - The starting result position to return (1-based).                       The finishing position (start + results - 1) cannot                       exceed 1000.        format       - Specifies the kind of web file to search for.        adult_ok     - The service filters out adult content by default.                       Enter a 1 to allow adult content.        similar_ok   - Specifies whether to allow multiple results with                       similar content. Enter a 1 to allow similar content        language     - The language the results are written in.        country      - The country code for the country the website is                       located in.        site         - A domain to restrict your searches to (e.g.                       www.yahoo.com). You may submit up to 30 values                       (e.g. ["www.yahoo.com", "www.cnn.com"]).        subscription - Any subscriptions to premium content that should                       also be searched. You may submit multiple values.        license      - The Creative Commons license that the contents are                       licensed under. You may submit multiple values (e.g.                       [cc_commercial, cc_modifiable] ).        output       - The format for the output result. If json or php is                       requested, the result is not XML parseable, so we                       will simply return the "raw" string.        callback     - The name of the callback function to wrap around                       the JSON data.    Supported values for 'format' are        html      - Regular HTML / XHTML        msword    - Microsoft Word        pdf       - Adobe PDF        ppt       - Microsoft PowerPoint        rss       - RSS feed        txt       - Text file        xls       - Microsft Excel    Full documentation for this service is available at:        http://developer.yahoo.net/web/V1/webSearch.html    """    NAME = "webSearch"    SERVICE = "WebSearchService"    _RESULT_FACTORY = yahoo.search.dom.web.WebSearch    def _init_valid_params(self):        """Initialize the set of valid parameters."""        super(WebSearch, self)._init_valid_params()        self._valid_params.update({            "region" : (types.StringTypes, "us", str.lower,                        self.regions.keys(), None, False),            "results" : (types.IntType, 10, int, lambda x: x > -1 and x < 101,                         "the range 1 to 100", False),            "format" : (types.StringTypes, "any", str.lower,                        ("all", "any", "html", "msword", "pdf", "ppt",                         "rss", "txt", "xls"), None, False),            "similar_ok" : (types.IntType, None, int, (1,), None, False),            "language" : (types.StringTypes, "en", str.lower,                          self.languages.keys(), None, False),            "country" : (types.StringTypes, "default", str.lower,                         self.countries.keys(), None, False),            "site" : (types.StringTypes, [], None, None,                      "a list of up to 30 domains", False),            "subscription" : (types.StringTypes, [], str.lower,                              self.subscriptions.keys(), None, False),            "license" : (types.StringTypes, [], str.lower,                         self.cc_licenses.keys(), None, False),            })## ContextSearch class, very similar to WebSearch#class ContextSearch(yahoo.search._CommonSearch):    """ContextSearch - perform a Yahoo Web Search with a context    This class implements the Contextual Web Search service APIs, which is    very similar to a regular web search. Allowed parameters are:            query        - The query to search for (UTF-8 encoded).        context      - The context to extract meaning from (UTF-8 encoded).        type         - The kind of search to submit (all, any or phrase).                          * all returns results with all query terms.                          * any resturns results with one or more of the                            query terms.                          * phrase returnes results containing the query                            terms as a phrase.        results      - The number of results to return (1-100).        start        - The starting result position to return (1-based).                       The finishing position (start + results - 1) cannot                       exceed 1000.        format       - Specifies the kind of web file to search for.        adult_ok     - The service filters out adult content by default.                       Enter a 1 to allow adult content.        similar_ok   - Specifies whether to allow multiple results with                       similar content. Enter a 1 to allow similar content.        language     - The language the results are written in.        country      - The country code for the country the website is                       located in.        license      - The Creative Commons license that the contents are                       licensed under. You may submit multiple values (e.g.                       license=cc_commercial&license=cc_modifiable).        output       - The format for the output result. If json or php is                       requested, the result is not XML parseable, so we                       will simply return the "raw" string.        callback     - The name of the callback function to wrap around                       the JSON data.            Supported formats are        html      - Regular HTML / XHTML        msword    - Microsoft Word        pdf       - Adobe PDF        ppt       - Microsoft PowerPoint        rss       - RSS feed        txt       - Text file        xls       - Microsft Excel    Full documentation for this service is available at:        http://developer.yahoo.net/web/V1/contextSearch.html    """    NAME = "contextSearch"    SERVICE = "WebSearchService"    METHOD = "POST"    _RESULT_FACTORY = yahoo.search.dom.web.WebSearch    def _init_valid_params(self):        """Initialize the set of valid parameters."""        super(ContextSearch, self)._init_valid_params()        self._valid_params.update({            "results" : (types.IntType, 10, int,  lambda x: x > -1 and x < 101,                         "the range 1 to 100", False),            "context" : (types.StringTypes, None, None, None, None, True),            "format" : (types.StringTypes, "any", str.lower,                        ("all", "any", "html", "msword", "pdf", "ppt",                         "rss", "txt", "xls"), None, False),            "similar_ok" : (types.IntType, None, int, (1,), None, False),            "language" : (types.StringTypes, "en", str.lower,                          self.languages.keys(), None, False),            "country" : (types.StringTypes, "default", str.lower,                         self.countries.keys(), None, False),            "license" : (types.StringTypes, [], str.lower,                         self.cc_licenses.keys(), None, False),            })## RelatedSuggestion class#class RelatedSuggestion(yahoo.search._Search):    """RelatedSuggestion - perform a Yahoo Web Related Suggestions search    This class implements the Web Search Related Suggestion web service    APIs. The only allowed parameters are:        query        - The query to get related searches from        results      - The number of results to return (1-50)        output       - The format for the output result. If json or php is                       requested, the result is not XML parseable, so we                       will simply return the "raw" string.        callback     - The name of the callback function to wrap around                       the JSON data.    Full documentation for this service is available at:        http://developer.yahoo.net/web/V1/relatedSuggestion.html    """    NAME = "relatedSuggestion"    SERVICE = "WebSearchService"    _RESULT_FACTORY = yahoo.search.dom.web.RelatedSuggestion    def _init_valid_params(self):        """Initialize the set of valid parameters."""        self._valid_params.update({            "query" : (types.StringTypes, None, None, None, None, True),            "results" : (types.IntType, 10, int,  lambda x: x > -1 and x < 51,                         "the range 1 to 50", False),            })## SpellingSuggestion class#class SpellingSuggestion(yahoo.search._Search):    """SpellingSuggestion - perform a Yahoo Web Spelling Suggestion search    This class implements the Web Search Spelling Suggestion web service    APIs. The only allowed parameter is:        query        - The query to get spelling suggestions for        output       - The format for the output result. If json or php is                       requested, the result is not XML parseable, so we                       will simply return the "raw" string.        callback     - The name of the callback function to wrap around                       the JSON data.    Full documentation for this service is available at:        http://developer.yahoo.net/web/V1/spellingSuggestion.html    """    NAME = "spellingSuggestion"    SERVICE = "WebSearchService"    _RESULT_FACTORY = yahoo.search.dom.web.SpellingSuggestion    def _init_valid_params(self):        """Initialize the set of valid parameters."""        self._valid_params.update({            "query" : (types.StringTypes, None, None, None, None, True),            })## local variables:# mode: python# indent-tabs-mode: nil# py-indent-offset: 4# end:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -