我不是第一个 发表于 2021-7-11 09:25:01

列表页多篇内容合并问题,贴代码

想把列表中的几篇文章合并,下面代码没有实现。哪位大哥帮忙看看。头想破了。。。{:5_109:}

import scrapy
from lxml import etree

class FwSpider(scrapy.Spider):
    name = 'fw'
    allowed_domains = ['xiegw.cn']
    start_urls = ['http://www.xiegw.cn/shenqingshu/dxs/']

    def parse(self, response):
      item = {}
      ret = etree.HTML(response.text)
      domain=''.join(self.start_urls).split('.cn/')+'.cn'
      lst=ret.xpath("//div[@class='ls_list']//ul[@class='ls_list_ul bj_mt30']")
      for i in lst:
            urls=i.xpath("./li[@class='ls_list_li list_li ts']/div[@class='li_r li_nr']/h3/a/@href")
            urlss=urls
            # print(urlss)
            for j in urlss:
                url=domain+j
                # print(url)

                yield scrapy.Request(
                  url=url,
                  callback=self.body_html,
                  meta={'item':item}
                )
    def body_html(self,response):
      item=response.meta['item']
      title=[]
      res=etree.HTML(response.text)
      title1=''.join(res.xpath('//h1/text()'))
      title.append(title1)
      item['title']=title


      print(item)
      print('\n' + '==============' + '\n')
      # yield item

我不是第一个 发表于 2021-7-15 08:40:31

难道就没有人知道吗。。{:5_96:}

我不是第一个 发表于 2021-7-15 15:05:37

我不是第一个 发表于 2021-7-15 08:40
难道就没有人知道吗。。

我顶我自己{:5_96:}

Twilight6 发表于 2021-7-16 10:15:02

我不是第一个 发表于 2021-7-15 08:40
难道就没有人知道吗。。



是哪个列表呢

学渣李某人 发表于 2021-7-21 10:35:28

合并可以使用itertools中的reduce, 就是将一个函数对列表中所有两两相邻的值都调用一个函数, 然后你再写一个拼接函数即可

我不是第一个 发表于 2021-7-21 16:52:59

Twilight6 发表于 2021-7-16 10:15
是哪个列表呢

网站列表页。。

我不是第一个 发表于 2021-7-21 17:15:44

学渣李某人 发表于 2021-7-21 10:35
合并可以使用itertools中的reduce, 就是将一个函数对列表中所有两两相邻的值都调用一个函数, 然后你再写一 ...

输出的是一个个独立的列表(字典)哦。我就是想把不同列表(字典)数据叠加起来合并。
你这个不知道行不行,我试试吧, 谢谢了。。{:5_109:}
页: [1]
查看完整版本: 列表页多篇内容合并问题,贴代码