12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import requests
- import json
- from urllib.parse import urlparse, parse_qs, urlencode
- # First URL
- url1 = "https://api.amemv.com/insights/lynx_web/anchor/preview?anchor_type=internet_service&app_id=1128&cmpt_version=1&component_id=7430558813054405430&download_style=1&interaction_style=1&is_preview=1&item_id=0&owner_id=1809047160845323&sec_uid=MS4wLjABAAAAHBDxS7uq2FpOE5kTjzuQTuIHOqL460dWJi9izIZedWIYRktaqewXWOw_rFvP8Avx"
- # Parse URL parameters
- parsed_url = urlparse(url1)
- params = parse_qs(parsed_url.query)
- # Extract required parameters
- component_id = params['component_id'][0]
- cmpt_version = params['cmpt_version'][0]
- item_id = params['item_id'][0]
- sec_uid = params['sec_uid'][0]
- app_id = params['app_id'][0]
- # Construct extra parameter
- extra_data = {
- 'item_id': item_id,
- 'author_id': params['owner_id'][0],
- 'device_platform': 'ios'
- }
- # Construct parameters for second URL
- params2 = {
- 'component_id': component_id,
- 'cmpt_version': cmpt_version,
- 'extra': json.dumps(extra_data),
- 'app_id': app_id,
- 'sec_uid': sec_uid
- }
- # Construct second URL
- url2 = f"https://api.amemv.com/aweme/v1/saiyan/industry/component/anchor/page/?{urlencode(params2)}"
- try:
- # Download content from second URL
- response = requests.get(url2, verify=False)
- response.raise_for_status()
-
- # Parse JSON response
- data = response.json()
-
- # Parse the data string inside anchor_page.data
- anchor_data = json.loads(data['anchor_page']['data'])
-
- # Extract and print specific fields from the first item
- if anchor_data and len(anchor_data) > 0:
- item = anchor_data[0] # Get the first item
- print(f"wechat_microapp_jump_url: {item.get('wechat_microapp_jump_url', '')}")
- print(f"wechat_microapp_title: {item.get('wechat_microapp_title', '')}")
-
- except requests.exceptions.RequestException as e:
- print(f"Error occurred: {e}")
- except json.JSONDecodeError as e:
- print(f"JSON parsing error: {e}")
|