【发布时间】:2021-01-09 12:30:27
【问题描述】:
我是 Scrapy 的新手。出于工作目的,我正在尝试从“https://www.tysonprop.co.za/agents/”中抓取内容。
特别是,我要查找的信息似乎是由脚本标签生成的。
行: 决议:泰森地产总部 在运行时。
我正在尝试访问在运行时在 h2 元素中生成的文本。
但是,Scrapy 响应对象似乎获取了原始源代码。 IE。我想要的数据显示为 而不是“Tyson Properties Head Office”。
任何帮助将不胜感激。
HTML 响应对象提取:
<script type="text/html" id="id_branch_template">
<div id="branch-<%= branch.id %>" class="clearfix margin-top30 branch-container" style="display: none;">
<h2 class="grid_12 branch-name margin-bottom20"><%= branch.branch_name %></h2>
<div class="branch-agents container_12 first last clearfix">
<div id="agents-list-left" class="agents-list left grid_6">
</div>
<div id="agents-list-right" class="agents-list right grid_6">
</div>
</div>
</div>
</script>
<script type="text/javascript">
当前 Scrapy 蜘蛛代码:
import scrapy
from scrapy.crawler import CrawlerProcess
class TysonSpider(scrapy.Spider):
name = 'tyson_spider'
def start_requests(self):
url = 'https://www.tysonprop.co.za/agents/'
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
script = response.xpath('//script[@id="id_branch_template"]/text()').get()
div = scrapy.Selector(text=script).xpath('//div[contains(@class,"branch-container")]')
h2 = div.xpath('./h2[contains(@class,"branch-name")]')
与这个问题有关: Scrapy xpath not extracting div containing special characters <%=
【问题讨论】:
-
你能说得更具体一点吗?
标签: javascript python scrapy