Вот что я пытаюсь сделать. Я хочу очистить электронные письма с нескольких веб-сайтов. У меня есть файл, в котором я могу ввести scrapy весь список url. Это, как я попытался извлечь электронную почту:Ошибка скрипирования на скребке
import scrapy
import datetime
import re
from scrapy.spiders import CrawlSpider
from techfinder.items import EmailItem
from scrapy.selector import HtmlXPathSelector
class DetectSpider(scrapy.Spider):
name = "test"
start_urls = ["http://example.com"]#[url.strip() for url in starturlfile.readlines()]
def parse(self, response):
DOWNLOADER_MIDDLEWARES =
{
'scrapy_proxy_rotator.ProxyMiddleware': 1,
}
PROXY_ROTATOR =
{
'username': 'user1',
'password': 'pass1',
'proxies_file': 'proxies.txt',
}
emails = re.findall(r'[\w\.-][email protected][\w\.-]+', response.body)
emailitems = []
for email in zip(emails):
emailitem = EmailItem()
emailitem["email"] = emails
emailitem["source"] = response.url
return emailitems
Я выполнил команду, как:
scrapy runspider scrapyDemo.py -o t.json -t json
И получил ошибку:
2017-02-09 12:58:34 [scrapy.utils.log] INFO: Scrapy 1.3.0 started (bot: scrapybot)
2017-02-09 12:58:34 [scrapy.utils.log] INFO: Overridden settings: {'FEED_FORMAT': 'json', 'FEED_URI': 't.json'}
Usage
=====
scrapy runspider [options] <spider_file>
runspider: error: Unable to load 'scrapyDemo.py': No module named techfinder.items
Почему я получаю эту ошибку? Также как я могу сканировать полный веб-сайт и получать электронные письма оптимизированным образом с помощью моей программы? Я использую proxy rota tor для поддержки нескольких прокси. Если возможно, как я могу добавить определение user-agent в свой код?
Пожалуйста, помогите мне с этой проблемой.
Пожалуйста, позвольте мне сказать вам, что я не очищаю электронные письма для спама. Поскольку у меня есть много сайтов, я пытаюсь получить от него электронные письма.
ли кто-нибудь может мне помочь с этим? –