如何从这个链接获得关于市场主题的每个详细信息页面上的标题和描述:是的。
我希望数据抓取的结果以 Dataframe 的形式包含每个详细页的标题和描述。
这是我目前的代码,现在我困惑地刮每个细节页获得的描述。
from ast import parse
import scrapy
class CnbcSpider(scrapy.Spider):
name = 'cnbc'
allowed_domains = ['cnbcindonesia.com']
start_urls = ['https://www.cnbcindonesia.com/market/indeks/5']
def parse(self, response):
for berita in response.xpath("//article"):
the_title= berita.xpath("./a/div[@class='box_text']/h2/text()").get()
the_category= berita.xpath("./a/div[@class='box_text']/span/span/text()").get()
link = berita.xpath("./a/@href").get()
# yield{
# 'Title_page': the_title,
# 'category_page': the_category,
# 'link': link
# }
yield scrapy.Request(url=link, callback=self.parse_detail_page)
def parse_detail_page(self, response):
title = response.xpath("//h1/text()']").get()
yield{
'Title': title,
}
1条答案
按热度按时间r55awzrz1#
当你开始一个零碎的项目时,你需要做的是:
请确保您的items.py文件如下所示:
然后,您的spider文件(使用
scrapy genspider ...
生成)应如下所示:您也可以在
settings.py
档案中加入自订的DEFAULT_REQUEST_HEADERS
,例如:观察如何从
forward
按钮获得下一页,并根据需要继续,直到该按钮消失。现在你的spider应该可以正常工作了,并且准备好跟踪所有1400多页来自该部分的新闻。在终端中运行它,使用
scrapy crawl cnbcspider -o cnbcindonews.json
,将结果保存在JSON文件中。如果你正在考虑将结果保存在数据库中,你需要设置一个管道和一个数据库-参见文档。生成的json文件如下所示:
您可以在此处找到Scrapy文档:https://docs.scrapy.org/en/latest/