Skip to main content

Bing Website Finder (bwf) adds websites to a list of company names from the commandline.

Project description

Bing Website Finder
===================
--------------------------

## Purpose:
`bing_website_finder` (aka `bwf`) finds websites for an arbitrarily long list of company names.

<br>

## Requirements:
- Python >= 3.7
- A Bing Search API subscription
- A CSV full of company names

<br>

## Installation:

#### Direct download:
From the commandline run:
```sh
$ git clone https://github.com/rtruxal/company-website-finder.git
$ cd bing-website-finder/
$ pip install .
```

#### Without installing (python API):
```sh
$ git clone https://github.com/rtruxal/company-website-finder.git
$ cd bing-website-finder/
$ python --version `#check your python version to make sure it's >=3.7`
Python 3.7.2
$ python `#start python`
Python 3.7.2 (default, Jan 2 2119, 17:17:17) [MSC v.1111 2222 bit (DAM46)] :: Anaconda, Inc. on win3333
Type "help", "copyright", "credits" or "license" for more information.
```
And then:
```py
>>> from bing_website_finder.get_websites import init
>>> from os import path
>>>
>>> infile = path.realpath('./bing_website_finder/data/example_input_website_finder.csv')
>>> outfile = path.realpath('./results.csv')
>>> bing_api_key = '987654321deadbeef123456789'
>>>
>>> init(infile, outfile, verbose=False, api_key=bing_api_key)

```


#### From pypi (NOT IMPLEMENTED YET):
```sh
$ pip install bing-website-finder
```
<br>

## Configuration & Usage:

#### Create a CSV input file:
Your input CSV **must** include the following 2 columns (case sensitive):
- Company Name
- Website

Check out `bing_website_finder/data/example_input_website_finder.csv` (which was gathered from [a very old SEC website](https://www.sec.gov/rules/other/4-460list.htm)) for a practical example.


#### Permenantly store a Bing Search API Key in `config.py`:
Locate the `bing_website_finder/config.py` file & modify this line:
```py
DEFAULT_SEARCH_API_V7_KEY = 'CHANGE ME'
```

#### Python usage:
You can find the primary interface inside of `bing_website_finder/get_websites.py`.
It's called `init()`. Here is it's declaration as of v0.0.1:
```py
def init(infilepth, outfilepth, verbose=False, api_key=None, num_workers=5):
assert os.path.exists(infilepth), "Please check the infile path you've specified."
cache = pd.read_csv(infilepth)
workers = (Worker(cache, api_key) for i in range(num_workers))
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(_execute(workers, verbose, loop=loop))
finally:
cache.to_csv(outfilepth, index=False)
```
If you do not specify an `api_key` argument, the `DEFAULT_SEARCH_API_V7_KEY` variable in `bing_website_finder/config.py` will be used.

**IMPORTANT NOTE: THE PROGRAM WILL FAIL SILENTLY IF YOU LEAVE `api_key=None` & DO NOT MODIFY : `DEFAULT_SEARCH_API_V7_KEY` INSIDE OF `config.py`**

#### cmdline usage:
Insallation via pip automatically creates an executable and places it in your $PYTHONPATH.

If `/YOUR/PYTHON/ENV/bin`* is in your `$PATH`**, simply type:
```sh
$ bwf --help
```
or
```sh
$ bing_website_finder --help
```
if neither of these^ work after installation, you can always use:

```sh
$ python -m bwf --help
```
or
```sh
$ python -m bing_website_finder --help
```
\* - (`/YOUR/PYTHON/ENV/Scripts` on Windows)
\** - (`%PATH%` on Windows)



Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
bwf-0.0.1-py3-none-any.whl (32.0 kB) Copy SHA256 hash SHA256 Wheel py3
bwf-0.0.1.tar.gz (30.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page