【发布时间】:2018-03-10 01:51:39
【问题描述】:
我正在使用带有 LinkExtractor 对象的 CrawlSpider 来抓取主页中的下一页和其他链接。我有两个链接提取器;一个抓取下一页,另一个抓取一些链接事件(参见下面的蜘蛛代码)。
我的第二个链接提取器有效(事件链接),但第一个无效。
当我启动我的蜘蛛时,我的堆栈跟踪中出现了这个错误:
[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)
【问题讨论】:
-
什么是问题?
-
如何解决这个证书问题?
-
发布你的爬虫代码。即使证书的主机名无效,它也只是一个警告。你是如何运行刮板的?
-
好的!我添加了我的爬虫代码并将我的消息更改为更清晰!