列表页多篇内容合并问题,贴代码
想把列表中的几篇文章合并,下面代码没有实现。哪位大哥帮忙看看。头想破了。。。{: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
难道就没有人知道吗。。{:5_96:} 我不是第一个 发表于 2021-7-15 08:40
难道就没有人知道吗。。
我顶我自己{:5_96:} 我不是第一个 发表于 2021-7-15 08:40
难道就没有人知道吗。。
是哪个列表呢
合并可以使用itertools中的reduce, 就是将一个函数对列表中所有两两相邻的值都调用一个函数, 然后你再写一个拼接函数即可 Twilight6 发表于 2021-7-16 10:15
是哪个列表呢
网站列表页。。 学渣李某人 发表于 2021-7-21 10:35
合并可以使用itertools中的reduce, 就是将一个函数对列表中所有两两相邻的值都调用一个函数, 然后你再写一 ...
输出的是一个个独立的列表(字典)哦。我就是想把不同列表(字典)数据叠加起来合并。
你这个不知道行不行,我试试吧, 谢谢了。。{:5_109:}
页:
[1]