1

同じ情報を何度もスクレイピングしないように、毎朝このスパイダーを実行してジョブ ボードからジョブをスクレイピングし、それらを Excel にコピーして、[URL を使用してリストから重複を削除] を押します。これをスクレイピーで行いたいです(txtファイルをcsvに変更できます)。ミドルウェアを実装できれば幸いです

これは私が使用しようとしているパイプリングです

class CraigslistSamplePipeline(object):



    def find_row_by_id(item):
        with open('URLlog.txt', 'r') as f:                # open my txt file with urls from previous scrapes
            urlx = [url.strip() for url in f.readlines()] # extract each url
            if urlx == item ["website_url"]:              # compare old url to URL being scraped
            raise DropItem('Item already in db')      # skip record if in url list
        return

このコードが間違っていると確信しています。誰かがこれを行う方法を提案してください。私はこれに非常に慣れていないので、各行を説明すると大いに役立ちます。私の質問が理にかなっていて、誰かが私を助けてくれることを願っています

私は助けを求めてこれらの投稿を見ましたが、私の問題を解決できませんでした:

Python スクリプトを使用して CSV ファイルからフィルター処理する方法

Scrapy - Spider は重複した URL をクロールします

スクレイピーでURLに基​​づいて重複リクエストをフィルタリングする方法

4

1 に答える 1