我正在尝试从受密码保护的FTP服务器中提取文件。这是我正在使用的代码:
if(preg_match("/['\"\(\)]/", $password)) {
echo "illegal character found..";
}
这是我得到的追溯错误:
import scrapy
from scrapy.contrib.spiders import XMLFeedSpider
from scrapy.http import Request
from crawler.items import CrawlerItem
class SiteSpider(XMLFeedSpider):
name = 'site'
allowed_domains = ['ftp.site.co.uk']
itertag = 'item'
def start_requests(self):
yield Request('ftp.site.co.uk/feed.xml',
meta={'ftp_user': 'test', 'ftp_password': 'test'})
def parse_node(self, response, selector):
item = CrawlerItem()
item['title'] = (selector.xpath('//title/text()').extract() or [''])[0]
return item
答案 0 :(得分:2)
您需要为网址添加方案:
ftp://ftp.site.co.uk
FTP URL语法定义为:
ftp://[<user>[:<password>]@]<host>[:<port>]/<url-path>
基本上,你这样做:
yield Request('ftp://ftp.site.co.uk/feed.xml', ...)
在维基百科上阅读有关模式的更多信息:http://en.wikipedia.org/wiki/URI_scheme