Metadata-Version: 2.4
Name: fakexy
Version: 0.0.2
Summary: A simple scraper for fakexy.com
Author-email: Dominik Stanisław Suchora <hexderm@gmail.com>
License: GPLv3
Project-URL: Homepage, https://github.com/TUVIMEN/fakexy
Keywords: fake-data,scraper,api,fakexy
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: reliq
Requires-Dist: treerequests
Dynamic: license-file

# fakexy

Tool for getting results from fakexy.com

# Installation

```bash
pip install fakexy
```

# Usage

## CLI

```bash
fakexy <URL> <COUNT>
```

outputs json in each line.

fakexy has aggressive cloudflare protection so browser might be necessary to solve captchas. You can then use `--browser` option to get cookies from browser or pass them directly with `--header`. You can also use `--wait` to wait in between requests, although cloudflare seems to trigger only after time of inactivity.

```bash
fakexy 'https://www.fakexy.com/uk-fake-address-generator-south-humberside' 10 --browser firefox --wait 0.8

fakexy 'https://www.fakexy.com/uk-fake-address-generator-south-humberside' 10 -w 0.2 -H 'Cookie: cf_clearance=LybymVQ3ndsXXwa8Q7fkMWvIEfdr6vzkuZnXVmOnhSI-1753001875-1.2.1.1-8Q.LhRHXQV4EhrUx6j3BvZ7B8AIMjJ2EpdwcNcNToLnOTIVIoaJ1aaKkI4c4Q91.88xR0cyndUbGTuJb2XpjQnBegVi0dekwpfIeo5GbN8PKUzpCvDc9z57yaupYVegaiYVPUn7ONOue5d.ZemaHTR73xGUZYQdRyg3pzGX_pE8_6KfB_XjhAI4vIOClihjXn33bS4dDsE_.Pyd2Kwsb7Pfa3EvAR3Ulw1SZDAqBsfFwQF6NXX7WxwhkqyPPXKoT' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0'
```

The tool supports all generators on site as long as they are passed by url.

```bash
fakexy 'https://www.fakexy.com/uk-fake-address-generator-south-humberside' 1
```

```json
{
  "street": "Forest Rd",
  "city": "Loughborough",
  "region": "Leicestershire",
  "zipcode": "LE11 3HU",
  "phone": "01509 214624",
  "country": "United Kingdom",
  "latitude": "52.762695",
  "longitude": "-1.221896",
  "person": {
    "name": "Isabella Martin",
    "gender": "female",
    "birthday": "1993-01-31",
    "ssn": "ZZ 06 48 57 T"
  },
  "creditcard": {
    "brand": "Mastercard",
    "number": "5578297755756643",
    "expire": "2028/2",
    "cvv": "520"
  }
}
```

```bash
fakexy 'https://www.fakexy.com/random-animal-generator' 1
```

```json
{
  "name": "Beaver",
  "image": "https://www.fakexy.com/random-animal-generator"
}
```

```bash
fakexy 'https://www.fakexy.com/us-fake-name-generator-mi' 1
```

```json
{
  "name": "Dr. Georgiana Berge",
  "gender": "female",
  "birthday": "1991-09-01",
  "ssn": "377-37-6204",
  "address": {
    "street": "5388 Lapeer Rd",
    "city": "Kimball",
    "region": "Michigan",
    "zipcode": "48074",
    "phone": "(810) 987-6390",
    "country": "United States",
    "latitude": "42.98765",
    "longitude": "-82.539308"
  },
  "creditcard": {
    "brand": "Mastercard",
    "number": "5421293142231977",
    "expire": "2028/1",
    "cvv": "361"
  }
}
```

```bash
fakexy 'https://www.fakexy.com/fake-creditcard-generator-visa' 1
```

```json
{
  "brand": "Visa",
  "number": "4485995438410356",
  "expire": "2030/6",
  "cvv": "660"
}
```

```bash
fakexy 'https://www.fakexy.com/fake-zipcode-generator-us' 1
```

```json
{
  "zipcode": "74136",
  "abbrev": "OK",
  "city": "Tulsa"
}
```

```bash
fakexy 'https://www.fakexy.com/fake-phonenumber-generator-us' 1
```

```json
{
  "phone": "(512) 339-9922",
  "abbrev": "TX",
  "city": "Austin"
}
```

## Library

### Code

```python
from fakexy import fakexy
import requests

fxy = fakexy(wait=1.2,browser="firefox")

try:
    for i in fxy.guess(r'https://www.fakexy.com/fake-address-generator-de', count=80):
        print(i)
except requests.RequestException:
    pass
```

### Methods

`animals`, `addresses`, `names`, `creditcards`, `phones` and `zipcodes` methods take `url` to resource and optionally `count` of elements to return through generator. `count` can be arbitrarily large since it'll split into multiple api calls.

Resources fall into many categories and i didn't bother with creating a complete list of them, that's why all of these functions take `url`, if you need something just find it on the site.

All of the aforementioned methods can be replaced by calling `guess` which takes the same arguments, but also discerns which of them to call based on it, returning their ourput.
