【发布时间】:2020-01-20 05:37:29
【问题描述】:
美好的一天。我目前正在编写一个 Scrapy 程序来抓取一个新闻网站。我是 Scrapy 的初学者,我遇到了一个无法在我的代码中取得进展的障碍。
我目前尝试抓取的网站是https://www.thestar.com.my/news/nation
在页面的 html 标签内,有一个 div 标签,带有 class="row list-listing"。我试图在 div 标记内获取 paragraph 标记,但不知何故 Scrapy 似乎无法找到标签。
我检查了所有未关闭的标签,但它们似乎都已关闭。那么为什么 Scrapy 无法获取这个标签呢? Scrapy 可以获取的最内部标签是 div class="sub-section-list",它在 div class="row list-listing"
之外另外,当我获取 div class="sub-section-list" 标签时,它只提取这些 html 标签:
"<div class=""sub-section-list"">
<div class=""button-view btnLoadMore"" style=""margin: 10px auto 15px;"">
<a id=""loadMorestories"">Load more </a>
</div>
</div>"
检查网站时,我需要这些标签
我将包含我的基本代码。我才刚刚开始这个项目,所以自从这个问题以来我没有取得任何进展。
import scrapy
class WebCrawl(scrapy.Spider):
name = "spooder"
allowed_domains = ["thestar.com.my"]
start_urls = ["https://www.thestar.com.my/news/nation"]
def parse(self, response):
text = response.xpath("//div[@class='sub-section-list']").extract()
yield {
'text' : text
}
如果我忘记添加任何其他必要的东西,请告诉我。任何帮助将不胜感激。
【问题讨论】: