Hier ist was ich versuche zu tun. Ich möchte E-Mails von einer Reihe von Websites scrappen. Ich habe eine Datei, mit der ich die Liste der URL eingeben kann. Dies ist, wie ich versuchte, E-Mail zu extrahieren:Scrapy Fehler beim Schaben
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
lief ich den Befehl wie:
scrapy runspider scrapyDemo.py -o t.json -t json
Und bekam den Fehler:
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
Warum ich diese Störung erhalten? Wie kann ich die komplette Website durchsuchen und die E-Mails mit meinem Programm optimieren? Ich benutze Proxy-Rotator für mehrere Proxy-Unterstützung. Wenn möglich, wie kann ich User-Agent-Definition in meinem Code hinzufügen?
Bitte helfen Sie mir bei diesem Problem.
Bitte lassen Sie mich Ihnen sagen, ich kratze keine E-Mails für Spam. Wie ich viele von der Website habe, versuche ich die E-Mails von ihr zu erhalten.
Gibt es jemanden, der mir helfen kann damit? –