2016-04-22 34 views
0

我正在使用scrapy來抓取YouTube視頻,並且需要視頻的標題/描述語言。當我在this video上使用瀏覽器視圖源時,我可以在腳本標記內有一個變量'METADATA_LANGUAGE': 'no'。我可以在scrapy和它的擴展中提取這個值,或者我應該下載並使用像beautifulsoup/htmlparser這樣的庫解析html。我如何提取scrapy中的javascript值

+0

如果您希望JavaScript生成的內容看Selenium。它使用瀏覽器獲取最終呈現的html,並將其返回scrapy進行刮取。 – Steve

回答

0

根據this,您可以選擇帶有xpath/css的腳本文本,然後使用正則表達式搜索變量名稱。假設第一個腳本包含METADATA_LANGUAGE

items = response.xpath('//script/text()')[0].re(".*METADATA_LANGUAGE.*") 
1

是的,這是可能的使用Scrapy。你可以看看this question

有很多方法可以實現你要找的東西。一種方法是使用scrapy的選擇器獲取<script>標籤,然後使用regex獲取您要查找的特定METADATA_LANGUAGE變量。