我正在研究scrapy,我正在抓一个网站并使用 xpath
刮取物品 . 但是有些 div
包含 javascript
,所以当我使用xpath直到包含javascript代码的 div id
返回一个空列表,并且不包含div元素(包含javascript)时能够获取HTML数据
HTML代码
<div class="subContent2">
<div id="contentDetails">
<div class="eventDetails">
<h2>
<a href="javascript:;" onclick="jdevents.getEvent(117032)">Some data</a>
</h2>
</div>
</div>
</div>
蜘蛛码
class ExampleSpider(BaseSpider):
name = "example"
domain_name = "www.example.com"
start_urls = ["http://www.example.com/jkl/index.php"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
required_data = hxs.select('//div[@class="subContent2"]/div[@id="contentDetails"]/div[@class="eventDetails"]')
那么如何从 h2 element
中的 anchor tag
获得 text(Some data)
如上所述,是否有任何替代方法从scrapy中包含javascript的元素中获取数据
1 回答
问题不在于这种情况下的javascript代码获取'Some data'字符串 .
您需要获得子节点:
或使用
string
功能: