2016-08-19 28 views
-2

我想從TripAdvisor中提取一些Java腳本來查找一些geoInfo代碼,他們使用這些代碼來查找不同城鎮中的一些餐館。用BeautifulSoup提取Java腳本(/ geo json?)

要做到這一點,我想從頁面的以下位瀏覽了幾頁,並颳去geoName和parentName:

geoInfo: { 
geoId: 31743,       geoName: `'London',       parentName: 'United `States',       shortParentName: 'United States', 

我使用BeautifulSoup,因爲我與其他項目的巨大成功用它,但我正在努力弄出這些變數。

上面的代碼位於一個標籤內的地理搜索頁面上,如:

https://www.tripadvisor.co.uk/Search?geo=31743

我試過的東西一樣,例如:

parentname = soup.findAll('script', {'geoInfo': 'parentName'}).string 

...但與沒有任何變化的運氣,只是似乎無法將其從頁面中刪除。

非常感謝任何幫助!

感謝您的閱讀:)

回答

0

我做到了!像正則表達式一樣:

find_name = re.search('geoName:(\s\').+?(?=\')', str(soup)) 
    geoName = find_name.group(0)