python - 如何用scrapy解析多个页面

标签 python debugging function web-scraping scrapy

我不断收到错误:

的语法无效
1.add_xpath('tagLine', '//p[@class="tagline"]/text()')

而且我似乎无法弄清楚为什么它会给我这个错误,因为据我所知它与所有其他 1.add_xpath() 方法的语法相同。我的另一个问题是如何请求其他页面。基本上我正在浏览一个大页面并让它浏览页面上的每个链接,然后一旦页面完成,我希望它转到下一个大页面的下一个(按钮),但我不知道怎么做。

   def parse(self, response):
    hxs = HtmlXPathSelector(response)
    for url in hxs.select('//a[@class="title"]/@href').extract():
        yield Request(url, callback=self.description_page)
    for url_2 in hxs.select('//a[@class="POINTER"]/@href').extract():
        yield Request(url_2, callback=self.description_page)

def description_page(self, response):
    l = XPathItemLoader(item=TvspiderItem(), response=response)
    l.add_xpath('title', '//div[@class="m show_head"]/h1/text()')
    1.add_xpath('tagLine', '//p[@class="tagline"]/text()')
    1.add_xpath('description', '//div[@class="description"]/span')
    1.add_xpath('rating', '//div[@class="score"]/text()')
    1.add_xpath('imageSrc', '//div[@class="image_bg"]/img/@src')
    return l.load_item()

对此的任何帮助将不胜感激。对于 python 和 scrapy 来说,我还是一个菜鸟。

最佳答案

def description_page(self, response):
    l = XPathItemLoader(item=TvspiderItem(), response=response)
    l.add_xpath('title', '//div[@class="m show_head"]/h1/text()')
    1.add_xpath('tagLine', '//p[@class="tagline"]/text()')
    1.add_xpath('description', '//div[@class="description"]/span')
    1.add_xpath('rating', '//div[@class="score"]/text()')
    1.add_xpath('imageSrc', '//div[@class="image_bg"]/img/@src')
    return l.load_item()

您使用数字 1 而不是变量名称 l

关于python - 如何用scrapy解析多个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938952/

相关文章:

python - 如何使用 mysaldb 插入 mysql 表,其中表名在 python 变量中?

debugging - 如何在.cpp文件的每个函数中放置断点?

android - 调试 Android 应用程序崩溃 - logcat 中没有信息,附加时控制台中没有信息

python - 需要 ASCII 扑克牌才能打印一行

python - 读取包含 pandas 数据帧的 csv 文件时出现编码错误

python - 在 Pandas DataFrame 中定位第一个和最后一个非 NaN 值

是否可以使用 gdb 或其他工具来检测复杂程序的某些部分(例如循环),这些部分的目标优化时间比预期的要长?

javascript - 从一组文件名中预加载一堆图像,完成 50% 后执行功能

java - 如何为多个 if-else 语句编写函数

java - 在单个类中实现 Function 和 Buffer 是个好主意吗?