Предоставлен список сайтов, поиск и возврат информации в Python

Дело в том, что libstdc ++ фактически поддерживал std::to_string в * -w64-mingw32 target с 4.8.0 . Однако это не включает поддержку MinGW.org, Cygwin и вариантов (например, * -pc-msys от MSYS2). См. Также https://cygwin.com/ml/cygwin/2015-01/msg00245.html .

Я реализовал обходной путь до ошибка решена для MinGW-w64. Будучи отличным от кода в других ответах, это мимика libstdc ++ (насколько это возможно). Он не требует строкового потока, но зависит от расширений libstdc ++. Даже сейчас я использую целевые объекты mingw-w64 в Windows, он по-прежнему хорошо работает для нескольких других целей (пока функции long double не используются).

0
задан Wolfy 20 March 2019 в 22:18
поделиться

3 ответа

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

Вы можете очистить веб-сайт 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 - я думаю, что это будет законным способом продвинуться вперед в том, что вы просите.

0
ответ дан Bitto Bennichan 20 March 2019 в 22:18
поделиться

Как уже упоминалось в других ответах , crunchbase - хорошее место для получения информации такого типа, но вам потребуется браузер без головы, чтобы удалить базу данных crunchbase, такую ​​как Selenium

< hr>

Если вы используете Ubuntu, установить Selenium довольно просто. Selenium требует драйвера для взаимодействия с выбранным браузером. Например, для Firefox требуется geckodriver

  • pip install selenium
  • sudo pip3 install selenium --upgrade

install последняя версия geckodriver

[1118 ]
  • wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
  • tar - xvzf geckodriver *
  • chmod + x geckodriver
    • Добавьте драйвер в вашу переменную PATH, чтобы другие инструменты могли найти его, или в каталоге, где установлено все ваше программное обеспечение, в противном случае он выдаст ошибку (исполняемый файл 'geckodriver' должен находиться в PATH)

      • mv geckodriver / usr / bin /

      код

      < hr>
      from bs4 import BeautifulSoup as BS
      from selenium import webdriver
      
      
      baseurl = "https://www.crunchbase.com/organization/{0}"
      
      query = input('type company name : ').strip().lower()
      url = baseurl.format(query)
      
      driver = webdriver.Firefox()
      driver.get(url)
      html = driver.page_source
      soup = BS(html, 'lxml')
      acquiredBy = soup.find('div', class_= 'flex-no-grow cb-overflow-ellipsis identifier-label').text
      
      
      print(acquiredBy)
      

      Вы можете также получить другую информацию, используя ту же логику, просто проверив класс / идентификатор и извлеките информацию.

    0
    ответ дан paradox 20 March 2019 в 22:18
    поделиться

    Вы можете найти эту информацию с сайта, такого как Crunchbase.

    Чтобы получить его, выполните следующие действия:

    1. создайте URL, содержащий информацию для вашей целевой компании. Предположим, вы нашли URL, содержащий нужную вам информацию, например:

      url = 'https://www.example.com/infoaboutmycompany.html'

    2. использовать селен для получения html, так как сайт не позволяет очистить страница напрямую. Примерно так:

      from selenium import webdriver from bs4 import BeautifulSoup driver = webdriver.Firefox() driver.get(url) html = driver.page_source

    3. используют BeautifulSoup для получения текста из div, содержащего информацию. У него есть определенный класс, который вы можете легко найти по HTML:

      bsobj = BeautifulSoup(html, 'lxml') res = bsobj.find('div', {'class':'alpha beta gamma'}) res.text.strip()

    Менее 10 строк кода, чтобы получить его.

    Конечно, это работает, изменяя ваш список, от списка URL-адресов до списка компаний, которые мы надеемся рассмотреть на этом сайте. Для рынка это работает.

    0
    ответ дан sentence 20 March 2019 в 22:18
    поделиться
    Другие вопросы по тегам:

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