我正在使用带有LinkExtractor对象的CrawlSpider来抓取主页上的下一页和其他链接。我有两个链接提取器;一个用于抓取下一个页面,另一个用于抓取一些链接事件(参见下面的蜘蛛代码)。
我的第二个linkExtractor工作(事件链接),但第一个没有 当我启动我的蜘蛛时,我的堆栈跟踪中出现了这个错误:
[scrapy] WARNING: Remote certificate is not valid for hostname "marathons.ahotu.fr"; u'ssl390453.cloudflaressl.com'!=u'marathons.ahotu.fr'
其实我是Python和Scrapy的新手,所以我的问题是:
这是我的蜘蛛代码:
import scrapy
import os
import re
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from scrapy.selector import Selector
if os.path.isfile('ListeCAP_Marathons_ahotu.csv'):
reecritureFichier = open('ListeCAP_Marathons_ahotu.csv', 'w')
reecritureFichier.truncate()
reecritureFichier.close()
class MySpider(CrawlSpider):
name = 'ListeCAP_Marathons_ahotu'
start_urls = ['https://marathons.ahotu.fr/calendrier']
rules = (
# LINKEXTRACTOR N°1 = NEXT PAGES
Rule(LinkExtractor(allow=('https://marathons.ahotu.fr/calendrier?page=[0-9]{1,100}#list-top',),),),
# LINKEXTRACTOR N°2 = EVENTS LINKS
Rule(LinkExtractor(allow=('https://marathons.ahotu.fr/evenement/.+',),),follow=True,callback='parse_item'),
)
def parse_item(self, response):
selector = Selector(response)
yield{
'nom_even':selector.xpath('/html/body/div[2]/div[2]/h1/span[@itemprop="name"]/text()').extract(),
}
print('--------------------> NOM DE L\'EVENEMENT :', selector.xpath('//*[@id="jog"]/div[2]/section/article/header/h1/text()').extract())
(我正在使用带有Twisted-17.9.0的Scrapy 1.4.0)
答案 0 :(得分:0)
您无法解决此类错误。您可以做的最好的事情是向域管理员发送消息,让他/她知道证书有问题(在这种情况下,证书是针对其他域而不是marathons.arotu.fr)。