我对Python和Scrapy还很陌生。所以我创建了一个蜘蛛,我有相对路径的问题。如果我在循环中不使用'dot',只要循环运行,它就会打印相同的结果,但是如果我在循环中使用'dot',它会显示它已经刮去了,但是文本是空白的。你知道吗
import scrapy
from demo_proj.items import JokeItem
from scrapy.loader import ItemLoader
from scrapy import Selector
class JokesSpider(scrapy.Spider):
name = 'jokes'
allowed_domains=['kitco.com']
start_urls = [
'https://www.kitco.com/'
]
def parse(self, response):
for joke in response.xpath("//div[@class='top15']"):
l=ItemLoader(item=JokeItem(),selector=joke)
l.add_xpath('news',".//div[@class='top15']/a/h3")
l.add_xpath('time',".//div[@class='top15']/span[@class='post-date']")
l.add_xpath('source',".//div[@class='top15']/span[@class='source']")
yield l.load_item()
//div[@class='top15']
谓词在for循环中是额外的。在进入for循环之前,你把范围缩小到了。蜘蛛是:items.py
将是:这是我日志中的几行:
相关问题 更多 >
编程相关推荐