首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python通过过滤器在数组中查找值

Python通过过滤器在数组中查找值
EN

Stack Overflow用户
提问于 2018-09-27 07:27:32
回答 1查看 176关注 0票数 1

我正在使用Python脚本来废弃google,这是脚本完成后我得到的。想象一下,如果我有100个结果(例如,我展示了2个)。

代码语言:javascript
复制
{'query_num_results_total': 'Око 64 резултата (0,54 секунде/и)\xa0', 'query_num_results_page': 77, 'query_page_number': 1, 'query': 'example', 'serp_rank': 1, 'serp_type': 'results', 'serp_url': 'example2.com', 'serp_rating': None, 'serp_title': '', 'serp_domain': 'example2.com', 'serp_visible_link': 'example2.com', 'serp_snippet': '', 'serp_sitelinks': None, 'screenshot': ''}
{'query_num_results_total': 'Око 64 резултата (0,54 секунде/и)\xa0', 'query_num_results_page': 77, 'query_page_number': 1, 'query': 'example', 'serp_rank': 2, 'serp_type': 'results', 'serp_url': 'example.com', 'serp_rating': None, 'serp_title': 'example', 'serp_domain': 'example.com', 'serp_visible_link': 'example.com', 'serp_snippet': '', 'serp_sitelinks': None, 'screenshot': ''}

这是脚本使用代码

代码语言:javascript
复制
import serpscrap
import pprint
import sys

config = serpscrap.Config()
config_new = {
   'cachedir': '/tmp/.serpscrap/',
   'clean_cache_after': 24,
   'sel_browser': 'chrome',
   'chrome_headless': True,
   'database_name': '/tmp/serpscrap',
   'do_caching': True,
   'num_pages_for_keyword': 2,
   'scrape_urls': False,
   'search_engines': ['google'],
   'google_search_url': 'https://www.google.com/search?num=100',
   'executable_path': '/usr/local/bin/chromedriver',
    'headers': {
      'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
      'Accept-Language': 'de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4',
      'Accept-Encoding': 'gzip, deflate, sdch',
      'Connection': 'keep-alive',
   },
}

arr = sys.argv

keywords = ['example']

config.apply(config_new)
scrap = serpscrap.SerpScrap()
scrap.init(config=config.get(), keywords=keywords)
results = scrap.run()


for result in results:
    print(result)

如果结果是我想要的url,我想停止脚本,例如"example.com“

如果这里有https,'serp_url': 'https://example2.com',我想检查它,如果我给出没有https的参数,就停止脚本,只需要example2.com。如果无法在脚本工作时检查,我需要解释如何通过我提供的参数找到serp_url

我不熟悉Python,但我正在构建PHP应用程序,它将运行这个Python脚本和输出结果。但是,我不想使用PHP中的结果(由serp_url等提取),我希望所有事情都用Python来完成。

EN

回答 1

Stack Overflow用户

发布于 2018-09-27 08:30:22

首先,您需要访问serp_url的值。

由于result变量是字典,键入result['serp_url']将返回每个结果的url。

在打印结果的for-循环中,您应该添加一个if-语句,其中result['serp_url']将与包含所需urls的变量进行比较(我认为您的代码中没有提供该信息)。可能是这样的:

代码语言:javascript
复制
for result in results:
    print(result)
    if my_url == result['serp_url']:
        exit

在https中也有相同的想法,但是现在我们需要startswith()方法:

代码语言:javascript
复制
for result in results:
    print(result)
    if my_url == result['serp_url']:
        exit
    if result['serp_url'].startswith('https'):
        exit

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52531665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档