質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

Q&A

0回答

1345閲覧

torを用いたscrapy crawl

mikuriya

総合スコア4

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

0グッド

0クリップ

投稿2021/07/09 06:36

torを用いたscrapy crawl

あるサイトでipアドレスのbanをされてしまったようなので、scrapyをtorを用いながら行いたいと考えています。
torを使ってrequest.get()などはできるのですが、scrapyになるとプロキシの通し方がうまくいかず、三日以上悩んでいます。
banをされていないネットワークだとparseにresponseが返ってきてコードが動きます。
torを使ったscrapyに詳しい方助けていただけるとありがたいです。

発生している問題・エラーメッセージ

DevTools listening on ws://127.0.0.1:53192/devtools/browser/e5ff6f76-e58c-4075-851d-0cc81a4974cc [19720:22988:0709/150643.528:ERROR:device_event_log_impl.cc(214)] [15:06:43.528] USB: usb_device_handle_win.cc:1058 Failed to read descriptor from node connection: システムに接続されたデバイスが機能していません。 (0x1F) [19720:22988:0709/150643.558:ERROR:device_event_log_impl.cc(214)] [15:06:43.558] USB: usb_device_handle_win.cc:1058 Failed to read descriptor from node connection: システムに接続されたデバイスが機能していません。 (0x1F) 2021-07-09 15:06:43 [scrapy.utils.log] INFO: Scrapy 2.4.0 started (bot: scraping) 2021-07-09 15:06:43 [scrapy.utils.log] INFO: Versions: lxml 4.6.1.0, libxml2 2.9.5, cssselect 1.1.0, parsel 1.6.0, w3lib 1.22.0, Twisted 20.3.0, Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)], pyOpenSSL 19.1.0 (OpenSSL 1.1.1h 22 Sep 2020), cryptography 3.2, Platform Windows-10-10.0.19041-SP0 2021-07-09 15:06:43 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'scraping', 'CONCURRENT_REQUESTS': 32, 'CONCURRENT_REQUESTS_PER_DOMAIN': 32, 'COOKIES_ENABLED': False, 'DOWNLOAD_DELAY': 2, 'DOWNLOAD_TIMEOUT': 600, 'DUPEFILTER_CLASS': 'scrapy.dupefilters.BaseDupeFilter', 'HTTPCACHE_STORAGE': 'scrapy_splash.SplashAwareFSCacheStorage', 'LOG_LEVEL': 'INFO', 'NEWSPIDER_MODULE': 'scraping.spiders', 'SPIDER_MODULES': ['scraping.spiders'], 'USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'} 2021-07-09 15:06:43 [scrapy.extensions.telnet] INFO: Telnet Password: 25b0a8158bde3835 2021-07-09 15:06:43 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.logstats.LogStats'] 2021-07-09 15:06:43 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scraping.middlewares.ProxyMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy_splash.SplashCookiesMiddleware', 'scrapy_splash.SplashMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2021-07-09 15:06:43 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy_splash.SplashDeduplicateArgsMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scraping.middlewares.MyprojectSpiderMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2021-07-09 15:06:43 [scrapy.middleware] INFO: Enabled item pipelines: ['scraping.pipelines.ScrapingPipeline'] 2021-07-09 15:06:43 [scrapy.core.engine] INFO: Spider opened 2021-07-09 15:06:43 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2021-07-09 15:06:43 [louisvuitton_db] INFO: Spider opened: louisvuitton_db 2021-07-09 15:06:43 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023

該当のソースコード

main

1custom_settings = { 2 'USER_AGENT' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' 3 } 4 5 def start_requests(self): 6 start_urls = ["http//---"] 7 8 for x in start_urls: 9 yield scrapy.Request( 10 url=x, 11 callback=self.parse 12 ) 13 14 def parse(self, response):

setting

1DOWNLOADER_MIDDLEWARES = { 2 # 'scrapy_crawlera.CrawleraMiddleware': 610, 3 'scrapy_splash.SplashCookiesMiddleware': 723, 4 'scrapy_splash.SplashMiddleware': 725, 5 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, 6 # 'scraping.middlewares.MyprojectDownloaderMiddleware': 543, 7 'scraping.middlewares.ProxyMiddleware': 350, 8 #privoxy 9 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110, 10 'scraping.middlewares.ProxyMiddleware': 100 11}

middlewares

1class ProxyMiddleware(object): 2 def process_request(self, request, spider): 3 request.meta['proxy'] = "socks5://127.0.0.1:9050" 4 spider.log('Proxy : %s' % request.meta['proxy'])

torprogram

1import subprocess 2import requests 3 4cmd = ["tor"] 5subprocess.Popen(cmd) 6 7proxies = { 8 'http' : 'socks5://127.0.0.1:9050', 9 'https' : 'socks5://127.0.0.1:9050' 10} 11ip_add = requests.get('https://ipinfo.io',proxies=proxies).json() 12print(ip_add) 13 14args = ["taskkill","/im","tor.exe","/f"] 15subprocess.Popen(args)

試したこと

色々な海外のtorを使ったプログラムを見てsettingやmiddlewaresを変えてみましたがresponseは返ってきませんで返ってきませんでした。
このtorは'socks5://127.0.0.1:9050'を使っているらしくプロキシの通し方が分かりません。
まだプログラムを始めたばかりで何が出来ていないのかもわからない状態です。他に必要な情報があれば気軽に聞いてください。

補足情報(FW/ツールのバージョンなど)

windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AbeTakashi

2021/07/11 07:03

あまり表だって他人に聞くような内容ではない気がしますが・・・ サイト運営者をだまし討ちするようなことを、誰もが手助けしたいとは思わないと思うんですけどね・・・ もし、そういうやましいことがないのであれば、もう少し状況を追記した方が良いと思います。もしくはアングラなサイトで聞くとか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問