то, как сцепиться с событиями / обменивается сообщениями в окнах с помощью Python

Я хочу узнать, была ли приобретена какая-то компания и кем

blockquote>

Вы можете очистить веб-сайт crunchbase , чтобы получить эту информацию. Недостатком является то, что вы будет ограничивать ваш поиск на их сайте. Чтобы расширить это, вы могли бы также включить некоторые другие сайты.

import requests
from bs4 import BeautifulSoup
import re
while True:
    print()
    organization_name=input('Enter organization_name: ').strip().lower()
    crunchbase_url='https://www.crunchbase.com/organization/'+organization_name
    headers={
        'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
    }
    r=requests.get(crunchbase_url,headers=headers)
    if r.status_code == 404:
        print('This organization is not available\n')
    else:
        soup=BeautifulSoup(r.text,'html.parser')
        overview_h2=soup.find('h2',text=re.compile('Overview'))
        try:
            possible_acquired_by_span=overview_h2.find_next('span',class_='bigValueItemLabelOrData')
            if possible_acquired_by_span.text.strip() == 'Acquired by':
                acquired_by=possible_acquired_by_span.find_next('span',class_='bigValueItemLabelOrData').text.strip()
            else:
                acquired_by=False
        except Exception as e:
                acquired_by=False
                # uncomment below line if you want to see the error
                # print(e)
        if acquired_by:
            print('Acquired By: '+acquired_by+'\n')
        else:
            print('No acquisition information available\n')

    again=input('Do You Want To Continue? ').strip().lower()
    if  again not in ['y','yes']:
        break

Пример выходных данных:

Enter organization_name: Marketo
Acquired By: Adobe Systems

Do You Want To Continue? y

Enter organization_name: Facebook
No acquisition information available

Do You Want To Continue? y

Enter organization_name: FakeCompany
This organization is not available

Do You Want To Continue? n

Примечания

  • Прочитайте Условия использования crunchbase и найдите их согласие, прежде чем использовать его в любых коммерческих проектах.

  • Также ознакомьтесь с crunchbase api - я думаю, что это будет законным способом продвинуться вперед в том, что вы просите.

9
задан Berry Tsakala 29 March 2009 в 11:21
поделиться

1 ответ

Я нашел ужасное обходное решение: Я записал сценарий AutoIt, который обнаруживает ошибку Excel MessageBox, закрывает его и выполняет утилиту sysinternal, которая вызывает компьютер к резервному устройству.

Opt("WinWaitDelay",400)
; -- exact text match, to save LOTS of cup cycles!
Opt("WinTitleMatchMode",3)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
; Opt("WinSearchChildren",1)
dim $title = "Microsoft Excel"
dim $text = "Windows cannot go on standby because Microsoft Office documents or application components are being accessed from the network. You must close the open documents or exit the applications before you can put the computer on standby."
While True
     ; wait for excel's error msg
     WinWait($title, $text)
     Run("psshutdown.exe -c -d -accepteula -m mooshmoosh -t 5")
     ; the annoying msgbox doesn't close without the 'sleep'
     Sleep(1000)
     ; close the annoying modal msgbox!
     WinClose($title)
     ;1 minute delay, save cpu (?)
     Sleep(1*60*1000)
WEnd

(это - оптимизированная версия - первыми пробными версиями был интенсивный ЦП).
теперь это находится в системном лотке и просто работает.

потерянный вопрос о сообщениях все еще нерешен. хотя я понял, что это не имеет никакого отношения к Python во-первых.

2
ответ дан 5 December 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: