deenfritptrues

Breadcrumbs

Wer sich mit Scrapy (in meinem Fall auf CentOS) schon ausgiebig beschäftigt hat und es auch produktiv zum crawlen einsetzt, wird sicher schon auf den "Bug" mit Twisted 17.0.9 gestoßen sein.

 

Scrapy funktioniert nicht mir der aktuellsten Twisted Version.

 

Nun findet man dazu einige Webseite, wo empfohlen wird, Twisted 16.4.1 zu installieren.
Befehl dazu: pip install "twisted==16.4.1"

 

Das hat bei mir allerdings auch nicht funktioniert.
Auf einer anderen Webseite in den hinteren Rängen bei Google fand ich dann den Hinweise, eine noch ältere Version von Twisted zu installieren.

Bei mir funktionierte dann die Version 13.0.0

Befehl dazu: pip install "twisted==13.0.0"

 

Ich wollte aber nicht akzeptieren, das ich nun ewig, oder bis das gefixt wird oder ich das OS wechsle, mit diesen alten Versionen arbeiten soll.

Vorallem auch deswegen, weil manche Webseiten mit SSL Verschlüsselung damit nicht funktioniert. (TLS ging, SSL nicht !)

 

Da bei vielen anderen die Version Twisted 16.4.1 mit Scrapy 1.5 funktioniert, hab ich versucht rauszufinden, woran es liegt, das es bei mir nicht geht.

 

Bei mir kam mit 16.4.1 immer diese Fehlermeldung:

Traceback (most recent call last):
File "/bin/scrapy", line 7, in
from scrapy.cmdline import execute
File "/usr/lib64/python2.7/site-packages/scrapy/cmdline.py", line 9, in
from scrapy.crawler import CrawlerProcess
File "/usr/lib64/python2.7/site-packages/scrapy/crawler.py", line 7, in
from twisted.internet import reactor, defer
File "/usr/lib64/python2.7/site-packages/twisted/internet/reactor.py", line 38, in
from twisted.internet import default
File "/usr/lib64/python2.7/site-packages/twisted/internet/default.py", line 56, in
install = _getInstallFunction(platform)
File "/usr/lib64/python2.7/site-packages/twisted/internet/default.py", line 44, in _getInstallFunction
from twisted.internet.epollreactor import install
File "/usr/lib64/python2.7/site-packages/twisted/internet/epollreactor.py", line 24, in
from twisted.internet import posixbase
File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 18, in
from twisted.internet import error, udp, tcp
File "/usr/lib64/python2.7/site-packages/twisted/internet/tcp.py", line 28, in
from twisted.internet._newtls import (
File "/usr/lib64/python2.7/site-packages/twisted/internet/_newtls.py", line 21, in
from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol
File "/usr/lib64/python2.7/site-packages/twisted/protocols/tls.py", line 65, in
from twisted.internet._sslverify import _setAcceptableProtocols
File "/usr/lib64/python2.7/site-packages/twisted/internet/_sslverify.py", line 203, in
verifyHostname, VerificationError = _selectVerifyImplementation(OpenSSL)
File "/usr/lib64/python2.7/site-packages/twisted/internet/_sslverify.py", line 178, in _selectVerifyImplementation
from service_identity import VerificationError
File "/usr/lib/python2.7/site-packages/service_identity/__init__.py", line 7, in
from . import cryptography, pyopenssl
File "/usr/lib/python2.7/site-packages/service_identity/pyopenssl.py", line 12, in
from pyasn1_modules.rfc2459 import GeneralNames
File "/usr/lib/python2.7/site-packages/pyasn1_modules/rfc2459.py", line 1010, in
class AttributeTypeAndValue(univ.Sequence):
File "/usr/lib/python2.7/site-packages/pyasn1_modules/rfc2459.py", line 1014, in AttributeTypeAndValue
openType=opentype.OpenType('type', certificateAttributesMap))
TypeError: __init__() got an unexpected keyword argument 'openType'

 

 

Dieser Fehler kam, weil ich pyasn1-modules 0.2.1 durch ein früheres Update aller installierten pip Komponenten installiert hatte.

Mit

pip install "pyasn1-modules<=0.2.0"

 

Habe ich nun pyasn1-modules 0.1.5 installiert und nun funktioniert Scrapy auch mit Twisted 16.4.1 und auch die SSL Webseiten kann ich wieder crawlen.

 

Bei Gelegenheit werde ich mal weiter mit Twisted 17.0.9 testen. Vielleicht gibt es auf Github und Co. mittlerweile neue Informationen zu den Abhängigkeiten/Versionen.

 

Unter der Subdomäne proxy (https://proxy.hummel-web.at/) steht nun eine Webseite zur Verfügung, auf der ihr kostenlos einen User für den Squid Proxy Server anlegen könnt.

 

Die Zugangsdaten sind immer eine Stunde lang aktiv. Danach muss einer neuer User angelegt werden.

Maximal 50 aktive User sind derzeit möglich.
Anpassung erfolgt sobald mehr Erfahrung über die Auslastung des Servers vor liegt.
Es gibt auch (noch) keine Bandbreitenbeschränkung.

 

Der Server steht in Deutschland und es kann jede Webseite ohne Einschränkung damit besucht werden.

 

Wer den Dienst gerne und öfter nutzt und etwas Kleingeld übrig hat, kann mich gerne mit einer Spende unterstützen.
Denkbar wäre auch eine Erweiterung an anderen Lokationen außerhalb Deutschlands.

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok