我已经写了一个蜘蛛来爬取https://tecnoblog.net/categoria/review/但是当我让蜘蛛爬行时,出现了一个错误:
2015-05-19 15:13:20+0100 [scrapy] INFO: Scrapy 0.24.5 started (bot: reviews)
2015-05-19 15:13:20+0100 [scrapy] INFO: Optional features available: ssl, http11
2015-05-19 15:13:20+0100 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'reviews.spiders', 'SPIDER_MODULES': ['reviews.spiders'], 'DOWNLOAD_DELAY': 0.25, 'BOT_NAME': 'reviews'}
2015-05-19 15:13:20+0100 [scrapy] INFO: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, SpiderState
2015-05-19 15:13:20+0100 [scrapy] INFO: Enabled downloader middlewares: ProxyMiddleware, HttpAuthMiddleware, DownloadTimeoutMiddleware, RotateUserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats
2015-05-19 15:13:20+0100 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2015-05-19 15:13:20+0100 [scrapy] …Run Code Online (Sandbox Code Playgroud) 我对 scrapy 很陌生(而且我的背景不是信息学)。我有一个网站,我无法使用我的本地 IP 访问,因为我被禁止,我可以使用浏览器上的 VPN 服务访问它。为了让我的蜘蛛能够爬行它,我设置了一个代理池,我在这里找到了http://proxylist.hidemyass.com/。这样我的蜘蛛就能够爬行和抓取项目,但我怀疑我是否必须每天更改代理池列表?抱歉,如果我的问题很愚蠢......
这是我的设置.py:
BOT_NAME = 'reviews'
SPIDER_MODULES = ['reviews.spiders']
NEWSPIDER_MODULE = 'reviews.spiders'
DOWNLOAD_DELAY = 1
RANDOMIZE_DOWNLOAD_DELAY = True
DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.httpcompression.HttpCompressionMiddleware':None, # to avoid the raise IOError, 'Not a gzipped file' exceptions.IOError: Not a gzipped file
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware' : None,
'reviews.rotate_useragent.RotateUserAgentMiddleware' :400,
'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
'reviews.middlewares.ProxyMiddleware': 100,
}
PROXIES = [{'ip_port': '168.63.249.35:80', 'user_pass': ''},
{'ip_port': '162.17.98.242:8888', 'user_pass': ''},
{'ip_port': '70.168.108.216:80', 'user_pass': ''},
{'ip_port': '45.64.136.154:8080', 'user_pass': ''},
{'ip_port': '149.5.36.153:8080', 'user_pass': ''},
{'ip_port': '185.12.7.74:8080', …Run Code Online (Sandbox Code Playgroud) 我对OCR和Tesseract还是陌生的。
到目前为止,我有一个工作脚本可以从图像中提取相当不错的文本。
我的疑问:是否可以训练tesseract以仅检索某种词典文件中显示的单词/字符?
例如,我有一个.txt,其中包含很多人的名字,我想训练Tesseract:“ SONIA”不是“ 50NlA”,“ YANNICK”不是“ VANNlD”,等等。
如果它具有所有可能名称的列表,将能够提供更好的准确性?如果原始图像是带有很多人名和有关该人的其他信息的文本,但是我只想从ocr中检索名字而忽略“嘈杂的信息”,该怎么办?抱歉,这是一个愚蠢的问题。
我已经阅读了https://groups.google.com/forum/#!topic/tesseract-ocr/r5qkHxQOT98和手册http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseract.1。 html并创建eng.user-words和市集文件...下一步应该做什么?由于它给了我相同的输出...
非常感谢您的时间和耐心。
scrapy文档中有这样的信息:
\n\n\n\n\n激活项目管道组件
\n\n要激活项目管道组件,您必须将其类添加到\n ITEM_PIPELINES 设置,如以下示例所示:
\n\nITEM_PIPELINES = {\n \'myproject.pipelines.PricePipeline\': 300,\n \'myproject.pipelines.JsonWriterPipeline\': 800, }
\n\n您在此设置中分配给类的整数值决定了它们运行的顺序 - 项目从顺序号低到高的顺序通过管道。通常将这些数字定义在 0-1000 范围内。
\n
我不明白最后一段,主要是“确定它们运行的顺序-项目从顺序号低到高的顺序通过管道”,你能换句话解释一下吗?选择这些数字的原因是什么?范围是0-1000如何选择值?
\n我对图像处理,CV和OCR都很陌生.到目前为止,我认为这是一个惊人的主题,我愿意进一步挖掘它.
想象一下,我有这个原始图像:

我把它调整到这个:

然后我找到了区域最大值并获得此图像(以避免更轻的背景和太嘈杂的):

然后将上面的图像提交到阈值并处理具有此图像:
在我看来,这个图像不是100%二进制...如果我放大它,它会在字符内显示一些灰色像素......
我认为最后一张图片应该足够/(非常好,确实)用于OCR,你不觉得吗?但是没有文字出来......
我的代码:
#http://stackoverflow.com/questions/18813300/finding-the-coordinates-of-maxima-in-an-image
from PIL import *
from PIL import Image
import numpy as np
from skimage import io
from skimage import img_as_float
from scipy.ndimage import gaussian_filter
from skimage.morphology import reconstruction
import pytesseract
im111 = Image.open('page.jpg')
basewidth = 1000
wpercent = (basewidth / float(im111.size[0]))
hsize = int((float(im111.size[1]) * float(wpercent)))
image_resized = im111.resize((basewidth, hsize), Image.ANTIALIAS)
image_resized.save('page2.jpg')
image = img_as_float(io.imread('page2.jpg', as_grey=True))
image = gaussian_filter(image, 1)
seed = np.copy(image)
seed[1:-1, 1:-1] = image.min()
mask = image
dilated …Run Code Online (Sandbox Code Playgroud) ocr tesseract image-processing python-imaging-library scikit-image
我是scrapinghub的新用户。我已经在谷歌上搜索过并阅读了 scrapinghub 文档,但我找不到任何关于从项目中删除蜘蛛的信息。可能吗,怎么可能?我不想替换蜘蛛,我想从scrapinghub蜘蛛列表中删除/移除它。
scrapy ×4
ocr ×2
python ×2
tesseract ×2
http ×1
https ×1
pipeline ×1
proxy ×1
scikit-image ×1
scrapinghub ×1
settings ×1
string ×1
user-agent ×1
web-crawler ×1