CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python3] Erreur requests

Exacompta
Exacompta
Niveau 10
08 août 2017 à 15:20:13

Bonjour tout le monde, depuis que j'ai changé de machine. J'ai un souci avec mon script Python 3.
Le code :

Si vous avez besoin de commentaires dites le moi :hap:


#!/usr/bin/python3

from bs4 import BeautifulSoup
from time import sleep
import sqlite3
import datetime
import requests
import re



class Forum:

	def __init__(self, forum, url_forum):
		self.forum = forum
		self.url_forum = url_forum

		pattern = '([0-9]{1,5})'
		self.pattern = re.compile(pattern)

	def add_to_database(self):
		connection = sqlite3.connect("database.db")
		c = connection.cursor()
		now = datetime.datetime.today()
		nb_co = self.recup_co()

		text = "INSERT INTO {0}(datetime, nb_co) VALUES('{1}', '{2}')".format(self.forum, now, nb_co)
		c.execute(text)
		connection.commit()
		connection.close()

		print(now, self.forum, str(nb_co))
		sleep(1)

	def recup_co(self):
		r = requests.get(self.url_forum)
		page_html = str(r.text)
		page = BeautifulSoup(page_html, 'html.parser') 
		resultat = page.select(".nb-connect-fofo")

		nb_co = re.search(self.pattern, str(resultat))

		return nb_co.group(0)

def main():
	dixhuit_vingtcinq = Forum("dixhuit_vingtcinq", "http://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm")
	moins_quinze = Forum("moins_quinze", "http://www.jeuxvideo.com/forums/0-15-0-1-0-1-0-blabla-moins-de-15-ans.htm")
	quinze_dixhuit = Forum("quinze_dixhuit", "http://www.jeuxvideo.com/forums/0-50-0-1-0-1-0-blabla-15-18-ans.htm")
	overwatch = Forum("overwatch", "http://www.jeuxvideo.com/forums/0-33972-0-1-0-1-0-overwatch.htm")

	forums = [dixhuit_vingtcinq, moins_quinze, quinze_dixhuit, overwatch]

	while(True):
		for forum in forums:
			try:
				forum.add_to_database()
			except:
				print("An error occured with the forum '{0}' at {1}".format(forum.forum, datetime.datetime.today()))
				sleep(5)
		sleep(60)

main()

Comme vous pouvez voir en haut, j'utilise beautifulsoup4 et requests, que j'ai installé via les commandes "apt-get install python3-bs4 ni pip3" et "pip3 install requests".

Sauf que j'ai une erreur assez grosse et que je n'arrive pas à comprendre à vrai dire, qui est :


^CTraceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 331, in                                                                                                  _make_request
    httplib_response = conn.getresponse(buffering=True)
TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 516, in                                                                                                  urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 333, in                                                                                                  _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.4/http/client.py", line 1172, in getresponse
    response.begin()
  File "/usr/lib/python3.4/http/client.py", line 351, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.4/http/client.py", line 321, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 362, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 559, in                                                                                                  urlopen
    _pool=self, _stacktrace=stacktrace)
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 245, in incr                                                                                                 ement
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3/dist-packages/six.py", line 624, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 516, in                                                                                                  urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 333, in                                                                                                  _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.4/http/client.py", line 1172, in getresponse
    response.begin()
  File "/usr/lib/python3.4/http/client.py", line 351, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.4/http/client.py", line 321, in _read_status
    raise BadStatusLine(line)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine("''",))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "parser.py", line 56, in main
    forum.add_to_database()
  File "parser.py", line 25, in add_to_database
    nb_co = self.recup_co()
  File "parser.py", line 36, in recup_co
    r = requests.get(self.url_forum)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in get
    return request('get', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 457, in reque                                                                                                 st
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 569, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 407, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",                                                                                                 ))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "parser.py", line 62, in <module>
    main()
  File "parser.py", line 59, in main
    sleep(5)
KeyboardInterrupt
sosolebg@mc:~/parser_jvc$ screen -S python3_parser
  File "/usr/lib/python3.4/http/client.py", line 1172, in getresponse
    response.begin()
  File "/usr/lib/python3.4/http/client.py", line 351, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.4/http/client.py", line 321, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 362, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 559, in urlopen
    _pool=self, _stacktrace=stacktrace)
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 245, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3/dist-packages/six.py", line 624, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 516, in urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 333, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.4/http/client.py", line 1172, in getresponse
    response.begin()
  File "/usr/lib/python3.4/http/client.py", line 351, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.4/http/client.py", line 321, in _read_status
    raise BadStatusLine(line)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine("''",))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "parser.py", line 60, in <module>
    main()
  File "parser.py", line 55, in main
    forum.add_to_database()
  File "parser.py", line 25, in add_to_database
    nb_co = self.recup_co()
  File "parser.py", line 36, in recup_co
    r = requests.get(self.url_forum)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in get
    return request('get', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 569, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 407, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))

Comme vous pouvez voir c'est assez hrand et je sais pas vraiment par où commencer, car sous mon ancienne machine ca fonctionnait niquel :hap:

Donc ma question est, auriez vous une idée d'où l'erreur est produite ?

Merci d'avoir lu jusque là :noel:

Exacompta
Exacompta
Niveau 10
10 août 2017 à 12:26:41

Le 10 août 2017 à 02:55:48 kellybrookshed a écrit :

Moi qui pensait à une vraie réponse je suis déçu :noel: J'ai DDB au passage

Blaff10
Blaff10
Niveau 10
10 août 2017 à 14:00:06

Quand tu as un problème et que tu demandes de l'aide, essaye de nous épargner les détails de ton programme.

:d) https://stackoverflow.com/help/mcve
:d) http://sscce.org/

Je ne dis pas ça méchamment, c'est juste une bonne pratique pour simplifier le travail du lecteur qui permet très souvent aussi de toi-même te rendre compte de ce qui cloche.

Gaetano-GX
Gaetano-GX
Niveau 30
10 août 2017 à 14:12:30

@Exacompta: d'où provient ton pseudo, tu es comptable (ou expert) ?
(je dis ça car j'ai un BTS comptabilité-gestion)

Exacompta
Exacompta
Niveau 10
10 août 2017 à 14:28:11

Le 10 août 2017 à 14:12:30 Gaetano-GX a écrit :
@Exacompta: d'où provient ton pseudo, tu es comptable (ou expert) ?
(je dis ça car j'ai un BTS comptabilité-gestion)

Non, juste la marque. Je cherchais un pseudo cool et connu :hap:

Exacompta
Exacompta
Niveau 10
10 août 2017 à 14:56:29

Le 10 août 2017 à 14:00:06 Blaff10 a écrit :
Quand tu as un problème et que tu demandes de l'aide, essaye de nous épargner les détails de ton programme.

:d) https://stackoverflow.com/help/mcve
:d) http://sscce.org/

Je ne dis pas ça méchamment, c'est juste une bonne pratique pour simplifier le travail du lecteur qui permet très souvent aussi de toi-même te rendre compte de ce qui cloche.

Je vais faire ça et chercher un peu c'est vrai que j'ai pas bien poser mon problème :hap:

Exacompta
Exacompta
Niveau 10
13 août 2017 à 19:16:51

Up, donc j'ai essayé avec un code plus que simplet, et il s'avère que juste avec ce code ci

import requests
from time import sleep

url = "http://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm"

r = requests.get(url)

sleep(5)

J'ai exactement la même erreur :hap:

Exacompta
Exacompta
Niveau 10
13 août 2017 à 22:36:38

Donc après petite "enquête", je me suis aperçu que requests sur mon vps ne fonctionne pas qu'avec le site "jeuxvideo.com" en effet lorsque je fais :

import requests
from time import sleep

url = 'http://codingbat.com/python'
url2 = 'http://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm'

r = requests.get(url)
print(r.status_code)

sleep(2)

s = requests.get(url2)
print(s.status_code)

la première réponse est 200 donc OK mais à la deuxième requête j'ai le fameux code d'erreur de mon premier post

Voilà, je pense que c'est tout. Si quelqu'un à une idée d'où ca pourrait venir.. :hap:
Sachant que sur ma machine locale, sous linux aussi ca fonctionne

Message édité le 13 août 2017 à 22:39:06 par Exacompta
Blaff10
Blaff10
Niveau 10
14 août 2017 à 00:01:12

Je sais que JVC a banni certaines IP. Sur mon serveur OVH, par exemple, ton code me génère une erreur aussi.

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 377, in _make_request
    httplib_response = conn.getresponse(buffering=True)
TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 560, in urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 379, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1197, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.5/http/client.py", line 266, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 376, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 610, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 247, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3/dist-packages/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 560, in urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 379, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1197, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.5/http/client.py", line 266, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
requests.packages.urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/requests/api.py", line 67, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 53, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 426, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

Ce n'est pas la même que toi, par contre. [[sticker:p/1jnh]]

Exacompta
Exacompta
Niveau 10
14 août 2017 à 00:05:20

Pourtant aussi bien en local qu'avec ma machine OVH, j'arrive à pinger :hap:

https://image.noelshack.com/fichiers/2017/33/1/1502661897-capture.jpg

Exacompta
Exacompta
Niveau 10
14 août 2017 à 19:04:55

Bon pour ceux qui auraient le même souci, je confirme bien. Les machines d'OVH ne peuvent pas accéder à JVC, la plage d'ip d'OVH a du être banni car je peux très bien ping mais dès que je passe par le port 80 (via requests ou wget) je suis bloqué :hap:

https://image.noelshack.com/fichiers/2017/33/1/1502730271-image.png

Merci à ceux qui m'auront lu et/ou aidé :hap:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment