猿问

跪求!scrapy 如何爬取不同的网页URL结构,返回相同的item各位有什么建议?

问题描述
例如有一个网站内的有三个板块都是公司的新闻相关https://www.glprop.com.cn/pre...https://www.glprop.com.cn/in-...https://www.glprop.com.cn/in-...这三个页面都有新闻标题,时间,URL,每个页面还有下一页的这种新闻链接。
问题出现的环境背景及自己尝试过哪些方法
我定义了一个itemclassPuluosiNewsItem(scrapy.Item):
newstitle=scrapy.Field()
newtiems=scrapy.Field()
newslink=scrapy.Field()
然后spider里面想通过获取三个url构建request然后回调函数getnews来获取新闻事件,新闻标题,新闻链接,但是每个URL里面新闻又按年份进行了分类,类似于下一页下一页,实在不知道如何写spider从三个url里面返回相同的item,难道要写三个spider吗?classPuluosiSpider(scrapy.Spider):
name='puluosi'
allowed_domains=['glprop.com.cn']
start_urls=['https://www.glprop.com.cn/press-releases.html']
#获取所有href
defparse(self,response):
print('此时启动的爬虫为:puluosi')
urllist=response.xpath('//div[@class="menu"]/ul/li[4]//li')
#把媒体中的国际市场发债信息url去除
urllist.pop()
base_url='https://www.glprop.com.cn'
forwebinurllist:
url=base_url+web.xpath('.//a/@href').extract()[0]
yieldscrapy.Request(url,callback=self.getnews)
#print("REQUEST:",scrapy.Request)
defgetnews(self,response):
pass
MYYA
浏览 571回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答