Esempio n. 1
0
def get(url, filename_prefix='result'):
    doc = Documentation()

    # ~~~~~~~~~~~~~~~ Code serveur et réponse HTTP ~~~~~~~~~~~~~~~ #
    result = getHTTP(url)
    with open('./results/' + filename_prefix + '_serverCode.html', 'wb') as f:
        f.write(result['code_serveur'].encode(
            'utf-8'))  #écriture du résulat dans un fichier
    #documentation requests:
    doc.info['requests'] = []
    doc.info['requests'].append(result['info'])

    with open('./results/' + filename_prefix + '_documentation.json',
              'wb') as f:
        f.write(str(doc).encode('utf-8'))
Esempio n. 2
0
def getURL(url, headers=None, tor=False, filename_prefix=None, path="./"):
    '''Fonction pour l'exemple qui écris dans des fichier la trace Web, le code serveur et la documentation'''

    if filename_prefix == None:
        domain = re.search("//([^/]+)/", url)
        filename_prefix = path + domain[1]
    else:
        filename_prefix = "gethttp"

    # ~~~~~~~~~~~~~ Requests - script http_requests.py ~~~~~~~~~~~~~~~ #
    result = getHTTP(url, headers, tor)

    with open(filename_prefix + '_serverCode.html',
              'wb') as f:  #écriture du résulat dans un fichier
        f.write(result['code_serveur'].encode('utf-8'))

    # ~~~~~~~~~~~~~ Documentation - script documentation.py ~~~~~~~~~~ #
    doc = Documentation(tor=tor)
    doc.info = result[
        'info']  #les infos venant du module http_requests seulement au moment de faire la request, il faut les ajouter

    with open(filename_prefix + '_documentation.json',
              'wb') as f:  #écriture du résulat dans un fichier
        f.write(str(doc).encode('utf-8'))
Esempio n. 3
0
    info = browser.get(url)
    browser.driver.execute_script(
        "window.scrollTo(0, window.innerHeight);"
    )  #window.innerHeight retourne la hauteur de la fenêtre
    time.sleep(5)  #attendre 5 sec
    browser.clientCode('./results/' + filename_prefix + '_clientCode.html')
    browser.screenshot('./results/' + filename_prefix + '_screenshot.png',
                       width=1080)
    #documentation selenium:
    doc.info['selenium'] = []
    info['actions'].append(
        'driver.execute_script("window.scrollTo(0, window.innerHeight);")')
    doc.info['selenium'].append(info)

    # ~~~~~~~~~~~~~~~ Code serveur et réponse HTTP ~~~~~~~~~~~~~~~ #
    result = getHTTP(url, tor=tor)
    with open('./results/' + filename_prefix + '_serverCode.html', 'wb') as f:
        f.write(result['code_serveur'].encode(
            'utf-8'))  #écriture du résulat dans un fichier
    #documentation requests:
    doc.info['requests'] = []
    doc.info['requests'].append(result['info'])

    # ~~~~~~~~~~~~~~~ Documentation - enregistrement ~~~~~~~~~~~~~~~ #
    with open('./results/' + filename_prefix + '_documentation.json',
              'wb') as f:
        f.write(str(doc).encode('utf-8'))

    # ~~~~~~~~~~~~~~~ Fermeture du port de Tor, si besoin ~~~~~~~~~~~~~~~ #
    if tor: tor_process.kill()
Esempio n. 4
0
#!/usr/bin/env python
# coding=utf-8
# author: T. Pineau
# creation: 06.10.2020

from ressources.http_requests import getHTTP  #fichier http_requests.py  qui se trouve dans le dossier ressources
from ressources.db import session, insertURL  #fichier db.py  qui se trouve dans le dossier ressources
import lxml.html

#Page anibis qui nous permet de récupérer les URL des annonces
base_url = 'https://www.anibis.ch'
url = "https://www.anibis.ch/fr/c/bijouterie-horlogerie-pierres-precieuses/diamant-diamant-brut"
result = getHTTP(url)
with open('./results/sources_url/anibis.html', 'wb') as f:
    f.write(result['code_serveur'].encode('utf-8'))

#Parsing pour récupérer les URL pour l'étape de collecte
html = lxml.html.parse('./results/sources_url/anibis.html').getroot()
liste = html.xpath('//article/a/@href')  #les liens des annonces
for i in liste:
    insertURL(session, base_url + i)
Esempio n. 5
0
    #Accès à la page voulue
    info = friends(browser, url)
    doc.info['selenium'].append(info)

    browser.clientCode('./results/'+filename_prefix+'_clientCode.html')
    browser.screenshot('./results/'+filename_prefix+'_screenshot.png', width=1080)

    # ~~~~~~~~~~~~~~~ Code serveur et réponse HTTP ~~~~~~~~~~~~~~~ #
    headers = {
        'user-agent': browser.driver.execute_script("return navigator.userAgent"), #utilisé le même useragent que selenium
        'referer': 'https://www.facebook.com/', #Il faut indiquer qu'on vient d'une URL du hostname
        'cookie': ''
    }
    #Chargement des cookies
    for cookie in pickle.load(open('./results/facebook_cookies.pkl','rb')):
        headers['cookie'] += cookie['name'] + '=' + cookie['value'] + '; '

    result = getHTTP(url, headers=headers)
    with open('./results/'+filename_prefix+'_serverCode.html', 'wb') as f: #écriture du résulat dans un fichier
        f.write(result['code_serveur'].encode('utf-8'))

    #documentation requests:
    doc.info['requests'] = []
    doc.info['requests'].append(result['info'])


    # ~~~~~~~~~~~~~~~ Documentation - enregistrement ~~~~~~~~~~~~~~~ #
    with open('./results/'+filename_prefix+'_documentation.json', 'wb') as f:
        f.write(str(doc).encode('utf-8'))