私はPython +美しいスープでクローラを作成しています。Pythonを使用してスクリプトで値を取得する方法
dataLayerでデータを取得するには、タグにアクセスする必要があります。
私はbeatifulsoupで検索し、必要なタグを返すことができましたが、情報にアクセスするためにjsonに変換することはできません。
これは私が取得するために作られたコードです:
page = get_html('URL')
dataLayer = page.findAll('script')[NUMBER OF SCRIPT]
そして、これは私のリターンです:
<script type="text/javascript">
dataLayer = [{
'site': {
'isMobile': false
},
'page': {
'pageType': 'ad_detail',
'detail': {
'parent_category_id': '2000',
'category_id': '2020',
'state_id': '2',
'region_id': '31',
'ad_id': '293231982',
'list_id': '250941507',
'city_id': '9208',
'zipcode':'34710620',
},
'adDetail': {
'adID': '293231982',
'listID': '250941507',
'sellerName': 'Marr',
'adDate': '2016-11-30 20:52:11',
},
},
'session': {
'user': {
'userID': '',
'loginType': ''
}
},
'pageType': 'Ad_detail',
'abtestingEnable' : '1',
// Listing information
'listingCategory': '2020',
// Ad information
'adId': '293231982',
'state': '2',
'region': '31',
'category': '2020',
'pictures': '8',
'listId': '250941507',
//Account Information
'loggedUser':'0',
'referrer': '',
//User Information
}];
</script>
私はadDateや郵便番号などのデータを取得したいと思います。
( " '郵便番号': '(\ D +')"、dataLayer).group(1)あなたは、辞書でそれを読み込むことができます ' –
jsonモジュールを使用して、それらの値に容易にアクセスできますキーを押す。 [here](https://docs.python.org/3/library/json.html)を参照してください。 'json.loads( '')' – TryToSolveItSimple