这是我第一次提问~~我正在制作一个网络爬虫,我想用它来爬取invia.cz上所有的酒店链接和名称。
import scrapy
y=0
class invia(scrapy.Spider):
name = 'Kreta'
start_urls = ['https://dovolena.invia.cz/?d_start_from=13.01.2017&sort=nl_sell&page=1']
def parse(self, response):
for x in range (1, 9):
yield {
'titles':response.css("#main > div > div > div > div.col.col-content > div.product-list > div > ul > li:nth-child(%d)>div.head>h2>a>span.name::text"%(x)).extract() ,
}
if (response.css('#main > div > div > div > div.col.col-content >
div.product-list > div > p >
a.next').extract_first()):
y=y+1
go = ["https://dovolena.invia.cz/d_start_from=13.01.2017&sort=nl_sell&page=%d" % y]
print go
yield scrapy.Request(
response.urljoin(go),
callback=self.parse
)
这个网站页面是用Ajax加载的,我手动更改了URL的值,只有当Next按钮出现在页面中时,才会增加一个URL值。当我测试按钮是否出现时,所有条件都运行得很好,但是当我启动爬虫时,它只爬取第一页。这是我第一个爬虫项目,可能还做的不是很成熟,总之先谢谢你的解答!
错误日志在这:Error Log1 Error Log