鱼C论坛

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

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

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

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

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

x
想把列表中的几篇文章合并,下面代码没有实现。哪位大哥帮忙看看。头想破了。。。
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/')[0]+'.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[3:8:2]
            # 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-15 08:40:31 | 显示全部楼层
难道就没有人知道吗。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我顶我自己
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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



是哪个列表呢

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

网站列表页。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

输出的是一个个独立的列表(字典)哦。我就是想把不同列表(字典)数据叠加起来合并。
你这个不知道行不行,我试试吧, 谢谢了。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-14 00:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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