

大家好,我在使用scrwpy监控亚马逊的一个网页变化,请问为啥老是判断第一个链接啊?
这代码
小白嘛 .. 体谅点
写的不错,

可是为啥老是判断第一个呀
爬取的链接倒是挺多的
说出你的需求
# -*- coding: utf-8 -*-
import scrapy
import time
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import datetime as dt
class JiankongSpiderSpider(scrapy.Spider):
name = jiankong_spider
#allowed_domains = [ guangzhou.okcis.cn ]
start_urls = [ https://www.amazon.com/s?k=power+bank i=mobile rh=n%3A2335752011%2Cp_36%3A9000-10000 dc qid=1631606774 rnid=2491154011 ref=sr_nr_p_36_1 ]
def parse(self, response):
link = response.xpath( //a[@class= a-link-normal a-text-normal ]/@href ).extract()
title = response.xpath( //a[@class= a-link-normal a-text-normal ]/span/text() ).extract()
price = response.xpath( //div[@class= a-row a-size-base a-color-base ]/a/span[1]/span[1]/text() ).extract()
for links,titles,prices in zip(link,title,price):
zb = https://www.amazon.com/ +str(links)+ 标题: +str(titles)+ 价格: +str(prices)
print( 第一次 ,zb)
old_score =
new_score = zb
print(new_score)
while True:
if old_score != new_score:
print( -------------------------------------------------------------------监控到发生变化------------------------------------------------------------------- )
print( 变化内容: , old_score)
old_score = new_score
else:
print( 没有变化 )
time.sleep(10)就是需要判断每次爬取的链接是否发生变化,变化后的新链接和原链接打印出来
不是得用while True 一直循环着才能每次提取判断?
字符串对比
旧的存起来,新的比一下就行了
首先你 start_urls只请求了一个,得到了link title price都是一个数据来的
不会变的
你这逻辑都是错的
yield 回去不是也可以
你这有yield?