鱼C论坛

 找回密码
 立即注册
查看: 2888|回复: 6

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

[复制链接]
发表于 2021-7-11 09:25:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

  1. import scrapy
  2. from lxml import etree

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

  7.     def parse(self, response):
  8.         item = {}
  9.         ret = etree.HTML(response.text)
  10.         domain=''.join(self.start_urls).split('.cn/')[0]+'.cn'
  11.         lst=ret.xpath("//div[@class='ls_list']//ul[@class='ls_list_ul bj_mt30']")
  12.         for i in lst:
  13.             urls=i.xpath("./li[@class='ls_list_li list_li ts']/div[@class='li_r li_nr']/h3/a/@href")
  14.             urlss=urls[3:8:2]
  15.             # print(urlss)
  16.             for j in urlss:
  17.                 url=domain+j
  18.                 # print(url)

  19.                 yield scrapy.Request(
  20.                     url=url,
  21.                     callback=self.body_html,
  22.                     meta={'item':item}
  23.                 )
  24.     def body_html(self,response):
  25.         item=response.meta['item']
  26.         title=[]
  27.         res=etree.HTML(response.text)
  28.         title1=''.join(res.xpath('//h1/text()'))
  29.         title.append(title1)
  30.         item['title']=title


  31.         print(item)
  32.         print('\n' + '==============' + '\n')
  33.         # yield item
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-15 08:40:31 | 显示全部楼层
难道就没有人知道吗。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-15 15:05:37 | 显示全部楼层
我不是第一个 发表于 2021-7-15 08:40
难道就没有人知道吗。。

我顶我自己
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-16 10:15:02 | 显示全部楼层
我不是第一个 发表于 2021-7-15 08:40
难道就没有人知道吗。。



是哪个列表呢

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-21 10:35:28 | 显示全部楼层
合并可以使用itertools中的reduce, 就是将一个函数对列表中所有两两相邻的值都调用一个函数, 然后你再写一个拼接函数即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-21 16:52:59 | 显示全部楼层

网站列表页。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

输出的是一个个独立的列表(字典)哦。我就是想把不同列表(字典)数据叠加起来合并。
你这个不知道行不行,我试试吧, 谢谢了。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-21 13:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表