这是我想要做的。我想从一些网站上刮取电子邮件。我有一个文件,我可以输入scrapy的所有url列表。这是我想提取电子邮件:Scrapy上的Scrapy错误
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
为什么我得到这个错误?另外我怎样才能抓取完整的网站,并使用我的程序以优化的方式获取电子邮件?我正在使用代理服务器来支持多个代理服务器。如果可能的话,我可以如何在代码中添加用户代理定义?
请帮我解决这个问题。
请让我告诉你我不是在刮垃圾邮件。由于我有很多网站我试图从中获取电子邮件。
是否有任何人谁可以帮我用它? –