Function 函数不';不要去拜访scrapy/webcrawler

Function 函数不';不要去拜访scrapy/webcrawler,function,web-scraping,callback,scrapy,Function,Web Scraping,Callback,Scrapy,有人能告诉我为什么不调用ParseLinks和ParseContent吗?其余的运行和打印/附加/做一些事情,但我从teo解析函数中得到了滚滚草。欢迎提供更多错误信息/建议 import scrapy 进口羊皮壳 从scrapy.crawler导入crawler进程 网站=(”https://www.flylevel.com/", "https://www.latam.com/en_us/") 链接=[] D={} #D={主网站:链接:内容} def dictlayout(): 对于网站中的W

有人能告诉我为什么不调用ParseLinks和ParseContent吗?其余的运行和打印/附加/做一些事情,但我从teo解析函数中得到了滚滚草。欢迎提供更多错误信息/建议

import scrapy
进口羊皮壳
从scrapy.crawler导入crawler进程
网站=(”https://www.flylevel.com/", "https://www.latam.com/en_us/")
链接=[]
D={}
#D={主网站:链接:内容}
def dictlayout():
对于网站中的W:
D[W]=[]
dictlayout()
类蜘蛛(刮毛蜘蛛):
name=“spider”
启动URL=网站
打印(“请求级别1”)
def start_请求(自我):
打印(“请求级别2”)
对于self.start\U URL中的U:
打印(“请求级别3”)
生成scrapy.Request(U,callback=self.ParseLinks)
打印(“链接:”)
打印(链接)
def解析链接(自身、响应):
Link=response.xpath(“/html/@href”)
Links=link.extract()
打印(“解析器打印”)
打印(链接)
对于L in链接:
link.append(L)
D[W]=L
yield response.follow(url=L,callback=self.ParseContent)
def解析内容(自我、响应):
content=ParseLinks.extract_first().strip()
D[W][L]=含量
打印(“内容”)
打印(内容)
印刷品(D)
打印(链接)
进程=爬网进程()
进程爬网(爬行器)
process.start()

我认为实际调用了
ParseLinks
。问题是您正试图从html标记中提取href。这一行
Link=response.xpath(“/html/@href”)
可能会破坏您的代码。试试
Link=response.xpath(“//a/@href”)

谢谢,我改变了这一点,还更正了一些错误:我现在使用了与
def ParseLinks(self,response)相同的格式:Link=response.xpath(“/html/@href”)Links=Link.extract()打印(“解析器打印”)打印(Link)对于链接中的L:link.append(L)D[W]=L产生response.follow(url=L,callback=self.ParseContent)
但是现在链接解析部分出现缩进错误。