├── DouYin ├── __init__.py ├── dy_comment.py ├── dy_info.py ├── dy_star.py └── 抖音无水印视频下载.py ├── News ├── __init__.py ├── fhw.py ├── qq.py ├── sina.py ├── souhu.py ├── wy.py └── xwlbo.py ├── README.md ├── Tools ├── __init__.py └── pool.py ├── app.py ├── ks.py ├── sn.py ├── tpp电影购票平台评分.py ├── tpp电影购票平台评论.py ├── tq.py └── weiboHot.py /DouYin/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | @Author : Jason 4 | @Time : 2021-7-8 8:02 5 | @File : python3.9 6 | """ 7 | import sys 8 | import os 9 | 10 | nowPath = os.getcwd() # 当前脚本所在路径 11 | lastPath = os.path.dirname(nowPath) # 上一级路径 12 | 13 | # sys.path.append(detail_path) 14 | [sys.path.append(x) for x in [nowPath, lastPath]] 15 | -------------------------------------------------------------------------------- /DouYin/dy_comment.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | @Author : lijiacheng@laipaiya.com 4 | @Time : 2021-7-8 7:45 5 | @File : python3.9 6 | """ 7 | import requests 8 | import json 9 | 10 | url = 'https://www.douyin.com/aweme/v1/web/comment/list/' 11 | headers = { 12 | 'cookie': 'ttwid=1%7CmyGdGLsMk8-hT19PkwIgWEEP2-9cSTK7hj5DsA_Sn60%7C1625702971%7C5dd8d40e359de0ab53f604987430e811d2a2ef316b15fa7d63968f42346533aa; MONITOR_WEB_ID=90ca575d-5059-4c6d-a643-74248fc4d3ef', 13 | 'referer': 'https://www.douyin.com/video/6982150308122168588?previous_page=main_page', 14 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' 15 | } 16 | params = { 17 | 'device_platform': 'webapp', 18 | 'aid': '6383', 19 | 'channel': 'channel_pc_web', 20 | 'aweme_id': '6982150308122168588', 21 | 'cursor': '20', 22 | 'count': '20', 23 | 'version_code': '160100', 24 | 'version_name': '16.1.0', 25 | 'cookie_enabled': 'true', 26 | 'screen_width': '1536', 27 | 'screen_height': '864', 28 | 'browser_language': 'zh-CN', 29 | 'browser_platform': 'Win32', 30 | 'browser_name': 'Mozilla', 31 | 'browser_version': '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36', 32 | 'browser_online': 'true', 33 | '_signature': '_02B4Z6wo00f01-SLBHgAAIDAVHroslyFqZ.kiwDAAJnO9b', 34 | } 35 | res = requests.get(url=url, headers=headers, params=params) 36 | print(res) 37 | print(res.text) 38 | -------------------------------------------------------------------------------- /DouYin/dy_info.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/17 11:20 5 | """ 6 | import re 7 | from datetime import datetime 8 | 9 | import requests 10 | 11 | from Tools.pool import * 12 | 13 | "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200fg10000c8o37r3c77u2tq7k1ngg&ratio=720p&line=0" 14 | # 视频地址 15 | # url = f"https://aweme.snssdk.com/aweme/v1/playwm/?video_id={vid}&line=0&ratio=720p" 16 | 17 | NEW_URL = 'https://www.iesdouyin.com/web/api/v2/aweme/post/' 18 | 19 | 20 | # 个人主页信息 21 | def get_auth(sec_uid): 22 | url = f'https://www.iesdouyin.com/web/api/v2/user/info/?sec_uid={sec_uid}' 23 | headers = { 24 | 'user-agent': get_ua(), 25 | } 26 | html = requests.get(url, headers) 27 | response = html.json() 28 | user_info = response.get('user_info') 29 | return user_info 30 | 31 | 32 | # 分享的断链转长链 截取sec_uid 33 | def switch_uid(url): 34 | headers = { 35 | 'user-agent': get_ua(), 36 | } 37 | response = requests.get(url, headers) 38 | response_url = response.url 39 | # uid = re.findall(r'/user/(\d+)', response_url)[0] 40 | # "https://www.douyin.com/user/MS4wLjABAAAAhfIOCoE9LX7-jeDu9FQMaKGG1ZkLbuXxEq7c97eQDeU" 41 | # sec_uid = re.findall(r'sec_uid=([0-9a-zA-Z_\-]+)', response_url)[0] 42 | sec_uid = re.findall(r'([0-9a-zA-Z_\-]{55})', response_url)[0] 43 | # share_url = f'https://www.amemv.com/share/user/{uid}' 44 | # return uid 45 | return sec_uid 46 | 47 | 48 | def get_all_new(uid, put_cursor=0, if_auth=None): 49 | """ 50 | 新接口合并一起,且需要_signature 51 | _signature 52 | :return: 53 | """ 54 | video_list = [] 55 | # url = f'https://www.amemv.com/web/api/v2/aweme/post/?user_id={uid}' 56 | url = NEW_URL 57 | params = { 58 | 'sec_uid': uid, 59 | 'aid': '1128', 60 | 'count': '21', 61 | 'max_cursor': put_cursor, 62 | '_signature': 'dfXF5wAAFYBmjyynMWFVJ3X1xf' 63 | } 64 | headers = { 65 | 'user-agent': get_ua(), 66 | } 67 | html = requests.get(url=url, headers=headers, params=params) 68 | # print(html.text) 69 | response = html.json() 70 | extra_cursor = response['extra']['now'] 71 | has_more = response['has_more'] 72 | max_cursor = response['max_cursor'] 73 | # print(extra_cursor, has_more, max_cursor) 74 | aweme_list = response['aweme_list'] 75 | # if aweme_list: 76 | for aweme in aweme_list: 77 | video_dic = {} 78 | statistics = aweme['statistics'] 79 | desc = aweme['desc'] 80 | text_extra = aweme['text_extra'] 81 | if text_extra: 82 | name = text_extra[0]['hashtag_name'] 83 | else: 84 | name = '' 85 | video_dic['video_name'] = name 86 | video_dic['desc'] = desc 87 | video_dic.update(statistics) 88 | video_list.append(video_dic) 89 | if aweme_list: 90 | author = aweme_list[0].get('author') 91 | else: 92 | # 没有发过作品的 93 | author = get_auth(uid) 94 | if author and if_auth: 95 | nickname = author['nickname'] 96 | short_id = author['short_id'] 97 | 98 | custom_verify = author.get('custom_verify', '') # 个人认证 99 | enterprise_verify_reason = author.get('enterprise_verify_reason', '') # 企业认证 100 | if custom_verify: 101 | verification_type = '1' 102 | verification = custom_verify 103 | elif enterprise_verify_reason: 104 | verification_type = '2' 105 | verification = enterprise_verify_reason 106 | else: 107 | verification_type = '0' 108 | verification = '' 109 | 110 | avatar_larger = author['avatar_larger']['url_list'] 111 | avatar_thumb = author['avatar_thumb']['url_list'] 112 | avatar_medium = author['avatar_medium']['url_list'] 113 | unique_id = author['unique_id'] # 抖音号自定义id 114 | signature = author['signature'] # 签名 115 | # custom_verify = author['custom_verify'] # 头衔标签 116 | # enterprise_verify_reason = author['enterprise_verify_reason'] 117 | follower_count = author['follower_count'] # 他的粉丝数 118 | favoriting_count = author['favoriting_count'] # 他的关注数 119 | total_favorited = author['total_favorited'] # 总赞 120 | aweme_count = author['aweme_count'] # 视频数 121 | cursor_now = datetime.fromtimestamp(extra_cursor / 1000) # datetime格式时间 122 | cursor_time = cursor_now.strftime('%Y-%m-%d %H:%M:%S') 123 | # time.strftime('%Y-%m-%d %H:%M:%S', extra_cursor) 124 | auth_dic = { 125 | 'cursor_now': cursor_time, 126 | 'nickname': nickname, 127 | 'short_id': short_id, 128 | 'unique_id': unique_id, 129 | 'signature': signature, 130 | 'is_verify': verification_type, 131 | 'verification': verification, 132 | 'custom_verify': custom_verify.replace('\n', ' '), 133 | 'verify_reason': enterprise_verify_reason.replace('\n', ' '), 134 | 'follower_count': follower_count, 135 | 'fans_count': favoriting_count, 136 | 'total_star': int(total_favorited), 137 | 'video_count': aweme_count, 138 | 'avatar_list': { 139 | 'larger': avatar_larger[0], 140 | 'medium': avatar_medium[0], 141 | 'thumb': avatar_thumb[0] 142 | } # 大中小头像 143 | } 144 | return auth_dic, video_list, max_cursor, has_more 145 | else: 146 | return video_list, max_cursor, has_more 147 | 148 | 149 | def manage_dy(url, page=1): 150 | """ 151 | :param url: 分享页链接 152 | :return: 153 | switch_uid: 请求获取数字uid 154 | get_author: 获取用户信息及视频信息 # 每个视频信息下有发布用户信息,采用第一个视频的用户信息 155 | get_aweme_info: 获取视频信息 156 | """ 157 | data_dic = {} 158 | uid = switch_uid(url) 159 | # uid = 'MS4wLjABAAAAISMJwLxAdIyVnQkkPT9Rv1PRzBraeitmytvKlmZWhmE' 160 | # auth_dic, video_list, max_cursor, has_more = get_author(uid) 161 | auth_dic, video_list, max_cursor, has_more = get_all_new(uid, if_auth=True) 162 | if has_more: 163 | for i in range(1, page): 164 | v_list, max_cursor, has_more = get_all_new(uid, put_cursor=max_cursor, if_auth=None) 165 | video_list += v_list 166 | if has_more: 167 | continue 168 | else: 169 | break 170 | else: 171 | pass 172 | data_dic['auth'] = auth_dic 173 | data_dic['video'] = video_list 174 | return data_dic 175 | 176 | 177 | # 视频链接转换 无水印视频 的链接 178 | def switch_vid(url): 179 | headers = { 180 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'} 181 | response = requests.get(url=url, headers=headers,allow_redirects=False) 182 | # https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6874779817993276685 183 | location = response.headers['location'] 184 | items_ids = re.findall(r'video/(.*?)/', location)[0] # 拼接无水印下载地址 185 | url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}'.format(items_ids) 186 | pc_headers = { 187 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'} 188 | response = requests.get(url=url, headers=pc_headers) 189 | play_addr = response.json().get('item_list')[0]['video']['play_addr']['url_list'][0] 190 | play_addr_nowm = str(play_addr).replace('playwm', 'play') 191 | return play_addr_nowm, items_ids 192 | 193 | 194 | # 保存 195 | def save_video(play_addr_nowm, items_ids): 196 | mobile_headers = { 197 | 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'} 198 | video = requests.get(url=play_addr_nowm, headers=mobile_headers, stream=True) 199 | print("{}开始下载".format(items_ids)) 200 | # with open('{}.mp4'.format(items_ids), mode='wb') as f: 201 | # f.write(video.content) # 将内容写进MP4文件 202 | with open('{}.mp4'.format(items_ids), "wb") as f: 203 | for chunk in video.iter_content(chunk_size=1024 * 1024): 204 | if chunk: 205 | f.write(chunk) 206 | print("{}下载结束".format(items_ids)) 207 | 208 | 209 | # 下载无水印视频 210 | def download_video(url): 211 | play_addr_nowm, items_ids = switch_vid(url) 212 | save_video(play_addr_nowm, items_ids) 213 | 214 | 215 | if __name__ == '__main__': 216 | ''' 217 | page 页数,一页20条视频信息 218 | text 主页分享的用户信息 例:'在,记录美好生活! https://v.douyin.com/JS3gbyE/' 219 | ''' 220 | page = 1 # 页数 221 | text = '在,记录美好生活! https://v.douyin.com/JS3gbyE/' # 四川观察 222 | # text = '在抖音,记录美好生活! https://v.douyin.com/JP5HU9E/' # 赵露思 223 | # text = '在抖音,记录美好生活! https://v.douyin.com/JP5gxqp/' # 彭昱畅 224 | # text = '在抖音,记录美好生活! https://v.douyin.com/JP5WVAC/' # 鹤叔 225 | # text = '在抖音,记录美好生活! https://v.douyin.com/JP5mB4G/' # 新号 226 | # text = '在抖音,记录美好生活! https://v.douyin.com/JParRuf/' # 冬冬和37 227 | dy_id = re.findall(r'https://v.douyin.com/(\w+)', text)[0] # 正则获取JS3gbyE 228 | url = 'https://v.douyin.com/' + dy_id 229 | # data = manage_dy(url, page) 230 | # print(json.dumps(data, ensure_ascii=False)) 231 | 232 | video_url = 'https://v.douyin.com/NccoexU/' 233 | download_video(video_url) 234 | -------------------------------------------------------------------------------- /DouYin/dy_star.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/10/13 13:28 5 | """ 6 | from Tools.pool import * 7 | import requests 8 | import json 9 | from retrying import retry 10 | 11 | 12 | # 明星榜 13 | 14 | @retry() 15 | def html_get(url): 16 | headers = { 17 | # 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Aoyou/UChwWVlBMWJmc15PSitcWE9-sif3-0nKQ9OdtLHQ2QbAXUxr6oeIK1znvg==' 18 | 'user-agent': get_ua() 19 | } 20 | html = requests.get(url=url, headers=headers) 21 | return html 22 | 23 | 24 | def parse(html): 25 | data_json = html.json() 26 | # active_time = data_json['active_time'] # 更新时间 27 | user_list = data_json['user_list'] 28 | users_info = [] 29 | for item in user_list: 30 | hot_value = item['hot_value'] 31 | hot_value_bar = item['hot_value_bar'] 32 | factor_hot_value = item['factor_hot_value'] 33 | factor_interact_value = item['factor_interact_value'] 34 | 35 | user_info = item['user_info'] 36 | signature = user_info['signature'] 37 | sec_uid = user_info['sec_uid'] 38 | uid = user_info['uid'] 39 | nickname = user_info['nickname'] 40 | avatar_thumb = user_info['avatar_thumb']['url_list'][0] 41 | avatar_larger = user_info['avatar_larger']['url_list'][0] 42 | data_info = { 43 | "user_info": { 44 | 'nickname': nickname, 45 | 'signature': signature, 46 | 'uid': uid, 47 | 'sec_uid': sec_uid, 48 | 'avatar_thumb': avatar_thumb, 49 | 'avatar_larger': avatar_larger, 50 | }, 51 | "hots": { 52 | 'hot_value': hot_value, 53 | 'hot_value_bar': hot_value_bar, 54 | 'factor_hot_value': factor_hot_value, 55 | 'factor_interact_value': factor_interact_value, 56 | } 57 | } 58 | users_info.append(data_info) 59 | data = { 60 | 'active_time': active_time, 61 | 'users_info': users_info, 62 | } 63 | return data 64 | 65 | 66 | def manage(): 67 | # url = 'https://aweme.snssdk.com/aweme/v1/hotsearch/star/billboard/' 68 | url = 'https://aweme-hl.snssdk.com/aweme/v1/hot/search/list/' 69 | html = html_get(url) 70 | data = parse(html) 71 | return data 72 | 73 | 74 | if __name__ == '__main__': 75 | data = manage() 76 | print(json.dumps(data, ensure_ascii=False)) 77 | -------------------------------------------------------------------------------- /DouYin/抖音无水印视频下载.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | @Author : Jason 4 | @Time : 2022-3-22 15:01 5 | @File : python3.9 6 | """ 7 | import re 8 | 9 | import requests 10 | 11 | 12 | # 视频链接转换 无水印视频 的链接 13 | def switch_vid(url): 14 | headers = { 15 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'} 16 | response = requests.get(url=url, headers=headers, allow_redirects=False) 17 | # https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6874779817993276685 18 | location = response.headers['location'] 19 | items_ids = re.findall(r'video/(.*?)/', location)[0] # 拼接无水印下载地址 20 | url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}'.format(items_ids) 21 | pc_headers = { 22 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'} 23 | response = requests.get(url=url, headers=pc_headers) 24 | play_addr = response.json().get('item_list')[0]['video']['play_addr']['url_list'][0] 25 | play_addr_nowm = str(play_addr).replace('playwm', 'play') 26 | return play_addr_nowm, items_ids 27 | 28 | 29 | # 保存 30 | def save_video(play_addr_nowm, items_ids): 31 | mobile_headers = { 32 | 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'} 33 | video = requests.get(url=play_addr_nowm, headers=mobile_headers, stream=True) 34 | print("{}开始下载".format(items_ids)) 35 | # with open('{}.mp4'.format(items_ids), mode='wb') as f: 36 | # f.write(video.content) # 将内容写进MP4文件 37 | with open('{}.mp4'.format(items_ids), "wb") as f: 38 | for chunk in video.iter_content(chunk_size=1024 * 1024): 39 | if chunk: 40 | f.write(chunk) 41 | print("{}下载结束".format(items_ids)) 42 | 43 | 44 | # 下载无水印视频 45 | def download_video(url): 46 | play_addr_nowm, items_ids = switch_vid(url) 47 | save_video(play_addr_nowm, items_ids) 48 | 49 | 50 | if __name__ == '__main__': 51 | video_url = 'https://v.douyin.com/NccoexU/' 52 | download_video(video_url) 53 | -------------------------------------------------------------------------------- /News/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | @Author : Jason 4 | @Time : 2021-7-8 8:02 5 | @File : python3.9 6 | """ 7 | import sys 8 | import os 9 | 10 | nowPath = os.getcwd() # 当前脚本所在路径 11 | lastPath = os.path.dirname(nowPath) # 上一级路径 12 | 13 | # sys.path.append(detail_path) 14 | [sys.path.append(x) for x in [nowPath, lastPath]] 15 | -------------------------------------------------------------------------------- /News/fhw.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/21 10:22 5 | """ 6 | 7 | from pool import * 8 | import requests 9 | from lxml import etree 10 | import re 11 | import json 12 | 13 | 14 | def html_get(url): 15 | headers = { 16 | 'user-agent': get_ua(), 17 | } 18 | html = requests.get(url, headers) 19 | return html 20 | 21 | 22 | def parse_top_title(content): 23 | data_list = [] 24 | if isinstance(content, list): 25 | for item in content: 26 | children = item['children'] 27 | if children: 28 | if isinstance(children, list): 29 | # print('chi', children) 30 | # url = children[0]['url'] 31 | # title = children[0]['title'] + item['title'] 32 | data_one = children[0] 33 | else: 34 | # url = children['url'] 35 | # title = children['title'] + item['title'] 36 | children.update({'title': children['title'] + item['title']}) 37 | data_one = children 38 | else: 39 | # url = item['url'] 40 | # title = item['title'] 41 | item.pop('children') 42 | data_one = item 43 | data_list.append(data_one) 44 | else: 45 | children = content['children'] 46 | data_list = children 47 | if children: 48 | # url = children['url'] 49 | # title = children['title'] + content['title'] 50 | children.update({'title': children['title'] + content['title']}) 51 | data_one = children 52 | else: 53 | # url = content['url'] 54 | # title = content['title'] 55 | content.pop('children') 56 | data_one = content 57 | # print(url, title) 58 | data_list.append(data_one) 59 | return data_list 60 | 61 | 62 | def parse_top(): 63 | url = "https://www.ifeng.com/" 64 | html = html_get(url) 65 | response = html.text.replace(' ', '') 66 | all_data = re.findall('varallData=(\{.*?"isIpad":.*?});', response, re.S)[0] 67 | all_data = json.loads(all_data) 68 | news_content_0 = all_data['newsTop'] 69 | news_content_1 = all_data['newsList0'] 70 | data0 = parse_top_title(news_content_0) 71 | data1 = parse_top_title(news_content_1) 72 | data_list = data0 + data1 73 | data = {"ifeng_news": data_list} 74 | return json.dumps(data, ensure_ascii=False) 75 | 76 | 77 | def parse_content(url): 78 | html = html_get(url) 79 | tree = etree.HTML(html.text) 80 | tags = tree.xpath('.//meta[@name="keywords"]/@content')[0] 81 | title = tree.xpath('.//div[@id="root"]/div[1]/div[2]/div[1]/h1/text()')[0] 82 | pubtime = tree.xpath('.//div[@id="root"]/div[1]/div[2]/div[1]/p/span/text()')[0] 83 | auth = tree.xpath('.//div[@id="root"]/div[1]/div[2]/div[1]/p/span/a/text()')[0] 84 | # print(title, pubtime, auth) 85 | p_list = tree.xpath('.//div[@id="root"]/div/div[2]/div[2]/div/div[1]/div/div/div[1]/p') 86 | content_list = [] 87 | for item in p_list: 88 | img = item.xpath('./img/@src') 89 | if img: 90 | text = img[0] 91 | else: 92 | text = item.xpath('.//text()')[0] 93 | content_list.append(text) 94 | content = '\n'.join(content_list) 95 | data = { 96 | 'title': title, 97 | 'pubtime': pubtime, 98 | 'auth': auth, 99 | 'tags': tags, 100 | 'content': content 101 | } 102 | return json.dumps(data, ensure_ascii=False) 103 | 104 | 105 | if __name__ == '__main__': 106 | ''' 107 | 新闻榜单 parse_top 要闻榜27 108 | 单条新闻 parse_content 109 | ''' 110 | print(parse_top()) 111 | url = "https://news.ifeng.com/c/85pz1HmAGOb" 112 | print(parse_content(url)) 113 | -------------------------------------------------------------------------------- /News/qq.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/17 16:18 5 | """ 6 | import json 7 | import re 8 | 9 | import requests 10 | from lxml import etree 11 | from pool import * 12 | 13 | 14 | def html_get(url): 15 | headers = { 16 | 'user-agent': get_ua(), 17 | } 18 | html = requests.get(url, headers) 19 | return html 20 | 21 | 22 | def parse_content(url): 23 | html = html_get(url) 24 | window_data = re.findall('window.DATA = (\{.*?\})', html.text, re.S)[0] 25 | win_data = json.loads(window_data) 26 | article_id = win_data['article_id'] 27 | title = win_data['title'] 28 | pubtime = win_data['pubtime'] 29 | tags = win_data['tags'] 30 | # print(article_id, title, pubtime, tags) 31 | # print(html.url) 32 | # print(html.text) 33 | tree = etree.HTML(html.text) 34 | p_list = tree.xpath('.//div[@class="content-article"]/p[@class="one-p"]') 35 | content_list = [] 36 | for item in p_list: 37 | src = item.xpath('./img/@src') 38 | if src: 39 | text = 'http://' + src[0] 40 | else: 41 | text = item.xpath('./text()')[0] 42 | content_list.append(text) 43 | content = '\n'.join(content_list) 44 | data = { 45 | 'article_id': article_id, 46 | 'title': title, 47 | 'pubtime': pubtime, 48 | 'tags': tags, 49 | 'content': content 50 | } 51 | return json.dumps(data, ensure_ascii=False) 52 | 53 | 54 | def parse_importance(): 55 | trpc = 'https://i.news.qq.com/trpc.qqnews_web.pc_base_srv.base_http_proxy/NinjaPageContentSync?pull_urls=news_top_2018' 56 | important_html = html_get(trpc).json() 57 | if important_html['msg'] == "success": 58 | important_news = important_html['data'] 59 | else: 60 | important_news = "" 61 | return important_news 62 | 63 | 64 | def parse_news_list(): 65 | url = 'https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list?sub_srv_id=24hours&srv_id=pc&offset=0&limit=20&strategy=1&ext={%22pool%22:[%22top%22],%22is_filter%22:7,%22check_type%22:true}' 66 | news_list_html = html_get(url).json() 67 | if news_list_html['msg'] == "success": 68 | hot_news = news_list_html['data']['list'] 69 | else: 70 | hot_news = "" 71 | return hot_news 72 | 73 | 74 | def parse_prevent(): 75 | url = 'https://news.qq.com/ext2020/apub/json/prevent.new.json' 76 | prevent_html = html_get(url).json() 77 | for item in prevent_html: 78 | item['url'] = 'https://new.qq.com/rain/a/' + item['id'] 79 | return prevent_html 80 | 81 | 82 | def parse_top(): 83 | data = { 84 | 'important_news': parse_importance(), 85 | 'prevent_news': parse_prevent(), 86 | 'first_news': parse_news_list(), 87 | } 88 | return json.dumps(data, ensure_ascii=False) 89 | 90 | 91 | if __name__ == '__main__': 92 | ''' 93 | 新闻榜单 parse_top 要闻榜11,热门25,首页20 94 | 单条新闻 parse_content 95 | ''' 96 | print(parse_top()) 97 | url = 'https://new.qq.com/rain/a/20200917A0CJ3Q00' 98 | print(parse_content(url)) 99 | -------------------------------------------------------------------------------- /News/sina.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/18 10:17 5 | """ 6 | 7 | from pool import * 8 | import requests 9 | from lxml import etree 10 | import re 11 | import json 12 | from datetime import datetime 13 | 14 | 15 | def html_get(url): 16 | headers = { 17 | 'user-agent': get_ua(), 18 | } 19 | html = requests.get(url, headers) 20 | return html 21 | 22 | 23 | def parse_click(top_time): 24 | url = f'http://top.news.sina.com.cn/ws/GetTopDataList.php?top_type=week&top_cat=www_www_all_suda_suda&top_time={top_time}&top_show_num=50' 25 | html = html_get(url) 26 | data = re.findall('var data = (.*?);', html.text, re.S)[0] 27 | news_data = json.loads(data) 28 | click_news = news_data['data'] 29 | return click_news 30 | 31 | 32 | def parse_video(top_time): 33 | url = f'http://top.news.sina.com.cn/ws/GetTopDataList.php?top_type=week&top_cat=video_news_all_by_vv&top_time={top_time}&top_show_num=50' 34 | html = html_get(url) 35 | data = re.findall('var data = (.*?);', html.text, re.S)[0] 36 | news_data = json.loads(data) 37 | video_news = news_data['data'] 38 | return video_news 39 | 40 | 41 | def parse_top(): 42 | nowt = datetime.now().strftime('%Y%m%d') 43 | data = { 44 | 'click_top': parse_click(nowt), 45 | 'video_top': parse_video(nowt), 46 | } 47 | return json.dumps(data, ensure_ascii=False) 48 | 49 | 50 | def parse_content(url): 51 | html = html_get(url) 52 | tree = etree.HTML(html.content.decode('utf-8')) 53 | title = tree.xpath('.//h1[@class="main-title"]/text()')[0] 54 | pubtime = tree.xpath('.//div[@id="top_bar"]//span[@class="date"]/text()')[0] 55 | nofollow = tree.xpath('.//div[@id="top_bar"]//a[@rel="nofollow"]/text()')[0] 56 | # print(title, pubtime, nofollow) 57 | img_list = tree.xpath('.//div[@id="article"]//img/@src') 58 | img_list = ['https:' + img for img in img_list] 59 | content_list = tree.xpath('.//div[@id="article"]/p/text()') 60 | content_list += img_list 61 | content = '\n'.join(content_list) 62 | data = { 63 | 'title': title, 64 | 'pubtime': pubtime, 65 | 'nofollow': nofollow, 66 | 'content': content, 67 | 'img': img_list 68 | } 69 | return json.dumps(data, ensure_ascii=False) 70 | 71 | 72 | if __name__ == '__main__': 73 | ''' 74 | 新闻榜单 parse_top,点击量,播放量 75 | 单条新闻 parse_content 76 | ''' 77 | print(parse_top()) 78 | url = 'https://news.sina.com.cn/c/2020-09-18/doc-iivhvpwy7362635.shtml' 79 | # url = 'https://news.sina.com.cn/c/xl/2020-09-18/doc-iivhuipp5000766.shtml' 80 | print(parse_content(url)) 81 | -------------------------------------------------------------------------------- /News/souhu.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/22 14:56 5 | """ 6 | from pool import * 7 | import requests 8 | from lxml import etree 9 | import re 10 | import json 11 | 12 | 13 | def html_get(url): 14 | headers = { 15 | 'user-agent': get_ua(), 16 | } 17 | html = requests.get(url, headers) 18 | return html 19 | 20 | 21 | def parse_top(): 22 | url = 'https://www.sohu.com/' 23 | html = html_get(url) 24 | tree = etree.HTML(html.text) 25 | item_list = tree.xpath('.//div[@class="focus-news-box"]/div[not (@id="entrance")]//a') 26 | data_list = [] 27 | for i in item_list: 28 | url = i.xpath('./@href')[0] 29 | title = i.xpath('./@title')[0] 30 | data_list.append({'url': url, 'title': title}) 31 | data = {'focus_news': data_list} 32 | return json.dumps(data, ensure_ascii=False) 33 | 34 | 35 | def parse_content(url): 36 | html = html_get(url) 37 | tree = etree.HTML(html.text) 38 | href = tree.xpath('.//link[@rel="canonical"]/@href')[0] 39 | tags = tree.xpath('.//meta[@name="keywords"]/@content')[0] 40 | title = tree.xpath('.//div[@class="text-title"]/h1/text()')[0].strip() 41 | pubtime = tree.xpath('.//span[@id="news-time"]/text()')[0] 42 | auth = tree.xpath('.//div[@class="text-title"]/div/span[2]/a/text()')[0] 43 | p_list = tree.xpath('.//article[@id="mp-editor"]/p') 44 | content_list = [] 45 | for item in p_list: 46 | img = item.xpath('./img/@src') 47 | if img: 48 | text = img[0] 49 | else: 50 | text = ''.join(item.xpath('.//text()')).strip() 51 | content_list.append(text) 52 | # print(content_list) 53 | # t = tree.xpath('.//article[@id="mp-editor"]/p[last()]/span/text()') 54 | content = '\n'.join(content_list) 55 | data = { 56 | # 'href': href, 57 | 'title': title, 58 | 'pubtime': pubtime, 59 | 'auth': auth, 60 | 'tags': tags, 61 | 'content': content 62 | } 63 | return json.dumps(data, ensure_ascii=False) 64 | 65 | 66 | if __name__ == '__main__': 67 | print(parse_top()) 68 | url = "https://www.sohu.com/a/420028936_100237836" 69 | print(parse_content(url)) 70 | -------------------------------------------------------------------------------- /News/wy.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/17 17:26 5 | """ 6 | import json 7 | import re 8 | 9 | import requests 10 | from lxml import etree 11 | from pool import * 12 | 13 | 14 | def html_get(url): 15 | headers = { 16 | 'user-agent': get_ua(), 17 | } 18 | html = requests.get(url, headers) 19 | return html 20 | 21 | 22 | def parse_top(): 23 | url = 'https://news.163.com/rank/' 24 | html = html_get(url) 25 | tree = etree.HTML(html.text) 26 | item_list = tree.xpath( 27 | './/div[@class="area areabg1"]/div[@class="area-half left"][1]/div/div[not (@class="title-tab")]') 28 | data = {} 29 | for i in range(len(item_list)): 30 | data_list = [] 31 | item = item_list[i] 32 | tr_list = item.xpath('./table/tr') 33 | flag = 0 34 | for tr in tr_list: 35 | if flag: 36 | href = tr.xpath('./td[1]/a/@href')[0] 37 | title = tr.xpath('./td[1]/a/text()')[0] 38 | click = tr.xpath('./td[2]/text()')[0] 39 | news_data = {'title': title, 'url': href, 'click': click} 40 | data_list.append(news_data) 41 | # print(title, href, click) 42 | else: 43 | flag += 1 44 | continue 45 | if i == 0: 46 | # hour_news = data_list 47 | data['hour_news'] = data_list 48 | elif i == 1: 49 | # day_news = data_list 50 | data['day_news'] = data_list 51 | else: 52 | # week_news = data_list 53 | data['week_news'] = data_list 54 | return json.dumps(data, ensure_ascii=False) 55 | 56 | 57 | def parse_content(url): 58 | html = html_get(url) 59 | tree = etree.HTML(html.text) 60 | title = tree.xpath('.//div[@id="epContentLeft"]/h1/text()')[0] 61 | tags = tree.xpath('.//meta[@name="keywords"]/@content') 62 | # pubtime = tree.xpath('./html[@id="ne_wrap"]/@data-publishtime') 63 | pubtime = re.findall('data-publishtime="(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})">', html.text, re.S)[0] 64 | p_list = tree.xpath('.//div[@id="endText"]/p') 65 | content_list = [] 66 | for p in p_list: 67 | src = p.xpath('./img/@src') 68 | con = p.xpath('.//text()') 69 | if src: 70 | text = src[0] 71 | elif con: 72 | text = con[0].replace('\n', '').strip() 73 | else: 74 | text = '' 75 | content_list.append(text) 76 | content = '\n'.join(content_list) 77 | data = { 78 | 79 | 'title': title, 80 | 'pubtime': pubtime, 81 | 'tags': tags, 82 | 'content': content 83 | } 84 | return json.dumps(data, ensure_ascii=False) 85 | 86 | 87 | if __name__ == '__main__': 88 | ''' 89 | 新闻榜单 parse_top 一小时点击量10,二十小时点击量10,七天点击量10 90 | 单条新闻 parse_content 91 | ''' 92 | print(parse_top()) 93 | url = 'https://news.163.com/20/0917/20/FMOLF6RN0001899O.html' 94 | print(parse_content(url)) 95 | -------------------------------------------------------------------------------- /News/xwlbo.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2021/1/28 15:25 5 | """ 6 | from pool import * 7 | import requests 8 | from lxml import etree 9 | import re 10 | import json 11 | from datetime import datetime 12 | from datetime import date 13 | 14 | LIST_URL = "http://www.xwlbo.com/txt.html" 15 | BASE_URL = "http://www.xwlbo.com/" 16 | 17 | 18 | def html_get(url): 19 | headers = { 20 | 'user-agent': get_ua(), 21 | # "Host": "www.xwlbo.com", 22 | # "Referer": "http://www.xwlbo.com/xwlb.html", 23 | # "Cookie": 24 | } 25 | html = requests.get(url, headers) 26 | return html 27 | 28 | 29 | def parse_list(): 30 | html_list = html_get(url=LIST_URL) 31 | tree = etree.HTML(html_list.text) 32 | xw_date = tree.xpath('.//ol[@class="xwlist"]/li/span/text()') 33 | href_list = tree.xpath('.//ol[@class="xwlist"]/li/a/@href') 34 | title_list = tree.xpath('.//ol[@class="xwlist"]/li/a/text()') 35 | 36 | data_t = tuple(zip(xw_date, href_list, title_list)) 37 | data_first = data_t[0] 38 | date_get = data_first[0] 39 | href_get = data_first[1] 40 | headline_get = data_first[2] 41 | # 判断是否当天的 42 | now_date = datetime.now().strftime("%m-%d") 43 | change_date = datetime.strptime(date_get, "%m-%d").strftime("%m-%d") 44 | if now_date == change_date: 45 | print(True) 46 | else: 47 | print(False) 48 | 49 | article = parse_article(href_get) 50 | data = { 51 | "headline": headline_get, 52 | "url": href_get, 53 | "article": article 54 | } 55 | return json.dumps(data, ensure_ascii=False) 56 | 57 | 58 | def parse_article(url): 59 | html_list = html_get(url=url) 60 | tree = etree.HTML(html_list.text) 61 | p_list = tree.xpath('.//div[@id="tab_con2"]/div[@class="text_content"]/p') 62 | row_list = [] 63 | page_list = [] 64 | for p in p_list: 65 | strong = p.xpath('./strong/a/text()') 66 | ids = p.xpath('./strong/a/@href') 67 | # row = p.xpath('./text()') 68 | if strong: 69 | title = strong[0] 70 | href = BASE_URL + ids[0] 71 | page_one = { 72 | "title": title, 73 | "href": href, 74 | # 'detail' : '\n'.join(row_list) 75 | } 76 | page_list.append(page_one) 77 | row_list = [] 78 | else: 79 | row = p.xpath('./text()') 80 | row_list.append(''.join(row)) 81 | page_one.update(detail='\n'.join(row_list)) 82 | return page_list 83 | 84 | 85 | if __name__ == '__main__': 86 | result = parse_list() 87 | print(result) 88 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #spider 2 | 两个基础的短视频和电影平台的基础爬虫 3 | douyin 和 taopp 4 | 5 | -------------------------------------------------------------------------------- /Tools/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | @Author : lijiacheng@laipaiya.com 4 | @Time : 2022-4-14 15:56 5 | @File : python3.9 6 | """ 7 | -------------------------------------------------------------------------------- /Tools/pool.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | user_agents = [ 4 | 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50', 5 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1', 6 | 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)', 7 | 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)', 8 | 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)', 9 | 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)', 10 | 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)', 11 | ] 12 | 13 | 14 | def get_ua(): 15 | _pua = random.choice(user_agents) 16 | return _pua 17 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | @Author : Jason 4 | @Time : 2022-4-15 14:57 5 | @File : python3.9 6 | """ 7 | import json 8 | 9 | from flask import Flask, request 10 | 11 | from DouYin import dy_info 12 | 13 | api = Flask(__name__) 14 | 15 | 16 | @api.route('/dy', methods=['GET', 'POST']) 17 | # @auth(engine="file") 18 | def dy_run(): 19 | part = request.args.get('part', '').strip() 20 | url = request.args.get('url', '').strip() 21 | page = request.args.get('page', 1) 22 | code = 200 23 | if part == "info": 24 | info = dy_info.manage_dy(url, page) 25 | elif part == "down": 26 | play_addr_nowm, items_ids = dy_info.switch_vid(url) 27 | info = play_addr_nowm 28 | else: 29 | code = 404 30 | info = "part error , Please Check 'part' 'info / down'" 31 | result = {"code": code, "info": info} 32 | return json.dumps(result, ensure_ascii=False) 33 | 34 | 35 | if __name__ == '__main__': 36 | api.run(host="0.0.0.0", port=8720, threaded=True) 37 | -------------------------------------------------------------------------------- /ks.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Time : 2020/12/1 14:19 3 | # @Author : Jason 4 | # Python3.8 5 | 6 | import requests 7 | import re 8 | import json 9 | from pool import * 10 | from datetime import datetime 11 | import time 12 | 13 | 14 | def html_get(uid): 15 | url = "https://live.kuaishou.com/m_graphql" 16 | headers = { 17 | 'Host': 'live.kuaishou.com', 18 | 'Origin': 'https://live.kuaishou.com', 19 | 'Referer': f'https://video.kuaishou.com/profile/{uid}', 20 | 'User-Agent': get_ua(), 21 | 'Cookie': '' 22 | } 23 | cookie_like = "你的登陆cookie" 24 | headers["Cookie"] = cookie_like 25 | data = {"operationName": "visionProfilePhotoList", "variables": {"userId": f"{uid}", "pcursor": "1.6065432E12"}, 26 | "query": "query visionProfilePhotoList($pcursor: String, $userId: String, $page: String) {\n visionProfilePhotoList(pcursor: $pcursor, userId: $userId, page: $page) {\n result\n llsid\n feeds {\n type\n author {\n id\n name\n following\n headerUrl\n headerUrls {\n cdn\n url\n __typename\n }\n __typename\n }\n tags {\n type\n name\n __typename\n }\n photo {\n id\n duration\n caption\n likeCount\n realLikeCount\n coverUrl\n coverUrls {\n cdn\n url\n __typename\n }\n photoUrls {\n cdn\n url\n __typename\n }\n photoUrl\n liked\n timestamp\n expTag\n __typename\n }\n canAddComment\n __typename\n }\n hostName\n pcursor\n __typename\n }\n}\n"} 27 | html = requests.post(url, headers=headers, json=data) 28 | response = html.json() 29 | print(html.content.decode('utf8')) 30 | return response 31 | 32 | 33 | uid = "3x47r4fmcw2bey4" 34 | # uid = "3xxjfdbpd5ppshm" 35 | html_get(uid=uid) 36 | 37 | # url = "https://live.kuaishou.com/profile/3x47r4fmcw2bey4" 38 | # url = "https://v.kuaishou.com/8Z1qM7" 39 | # headers = { 40 | # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 Aoyou/VlhrXg15dyYJNFckS3pKR_yYMnCicnIf4-0PoDM_GCi7Ss3u2dR6557fvw==", 41 | # } 42 | # html = requests.get(url=url, headers=headers) 43 | # print(html) 44 | # print(html.content.decode('utf8')) 45 | # print(html.url) 46 | 47 | 48 | # if __name__ == '__main__': 49 | # "看了这么多快手,还是「虎哥说车」最好玩了! https://v.kuaishou.com/8Z1qM7 复制此消息,打开【快手】直接观看!" 50 | -------------------------------------------------------------------------------- /sn.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/10/12 15:57 5 | #苏宁易购 6 | """ 7 | import requests 8 | import json 9 | from pool import * 10 | 11 | 12 | def html_get(p): 13 | """ 14 | :param p: 页数 15 | :return: 16 | """ 17 | headers = { 18 | # 'authority': 'suning.m.tmall.com', 19 | 'user-agent': get_ua(), 20 | 'cookie': '有免登陆的万能cookie,一个多月没过期', 21 | } 22 | params = {"p": p} 23 | url = "https://suning.m.tmall.com/shop/shop_auction_search.do" 24 | # url = "https://svw.m.tmall.com/shop/shop_auction_search.do" 25 | html = requests.get(url=url, headers=headers, params=params) 26 | print(html.text) 27 | return html.json() 28 | 29 | 30 | def parse(page): 31 | data = {} 32 | for p in range(1, page + 1): 33 | response = html_get(p) 34 | if p != 1: 35 | items = response['items'] 36 | data["items"] += items 37 | else: 38 | data = response 39 | print(json.dumps(data)) 40 | 41 | 42 | if __name__ == '__main__': 43 | parse(2) 44 | """ 45 | {"shop_id": "128573071", "user_id": "2616970884", "shop_title": "\u82cf\u5b81\u6613\u8d2d\u5b98\u65b9\u65d7\u8230\u5e97", "total_page": "751", "shop_Url": "//suning.tmall.com", "items": [{"item_id": 530409372905, "title": "\u3010\u82cf\u5b81\u5feb\u9012\u3011HP/\u60e0\u666e1020Plus\u9ed1\u767d\u6fc0\u5149\u6253\u5370\u673a\u8ff7\u4f60\u5bb6\u5ead\u4f5c\u4e1a\u5b66\u751fA4\u5c0f\u578b\u5546\u52a1\u529e\u516c", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01odEpfH1IOulL8FWJO_!!0-item_pic.jpg", "sold": "187", "quantity": 37, "totalSoldQuantity": 4670, "url": "//detail.m.tmall.com/item.htm?id=530409372905", "price": "1699.00", "titleUnderIconList": []}, {"item_id": 523974375648, "title": "Maryya/\u7f8e\u4e3d\u96c5\u7f8e\u4e3d\u96c5\u4eb2\u4eb2400\u5e73\u677f\u62d6\u628a", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01uCsIOo1IOulPVVIeH_!!2-item_pic.png", "sold": "7", "quantity": 100, "totalSoldQuantity": 1001, "url": "//detail.m.tmall.com/item.htm?id=523974375648", "price": "69.00", "titleUnderIconList": []}, {"item_id": 525202888588, "title": "\u96c0\u5de2\u91d1\u724c\u9986\u85cf\u5496\u5561\u81fb\u4eab\u767d\u5496\u556129g*20\u6761 \u901f\u6eb6\u5373\u6eb6", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01Xm26Rd1IOujaGEOnV_!!2616970884-0-lubanu-s.jpg", "sold": "6", "quantity": 238, "totalSoldQuantity": 20152, "url": "//detail.m.tmall.com/item.htm?id=525202888588", "price": "52.90", "titleUnderIconList": []}, {"item_id": 523205567494, "title": "Joyoung/\u4e5d\u9633 JYL-C012 \u591a\u529f\u80fd\u69a8\u6c41\u5bb6\u7528\u679c\u852c\u5168\u81ea\u52a8\u8ff7\u4f60\u6599\u7406\u673a", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN015GZUjP1IOulEZb68j_!!0-item_pic.jpg", "sold": "74", "quantity": 63, "totalSoldQuantity": 24079, "url": "//detail.m.tmall.com/item.htm?id=523205567494", "price": "129.00", "titleUnderIconList": []}, {"item_id": 522583525834, "title": "\u8377\u5170\u8fdb\u53e3friso/\u7f8e\u7d20\u4f73\u513f\u91d1\u88c5\u5a74\u5e7c\u513f\u5976\u7c893\u6bb5\u5b9d\u5b9d\u725b\u5976\u7c89900g\u7f50\u88c5", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01Kx1TAL1IOulPfhUrn_!!0-item_pic.jpg", "sold": "5", "quantity": 9980, "totalSoldQuantity": 177677, "url": "//detail.m.tmall.com/item.htm?id=522583525834", "price": "202.00", "titleUnderIconList": []}, {"item_id": 523201088183, "title": "\u827e\u7f8e\u7279\u53d6\u6696\u5668\u5bb6\u7528\u8282\u80fd\u7701\u7535\u6696\u98ce\u673a\u6b27\u5f0f\u5feb\u70ed\u7089\u6d74\u5ba4\u795e\u5668\u70e4\u706b\u7089\u7535\u6696\u5668", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01Vt7jgL1IOulIDdTje_!!0-item_pic.jpg", "sold": "77", "quantity": 232, "totalSoldQuantity": 4143, "url": "//detail.m.tmall.com/item.htm?id=523201088183", "price": "329.00", "titleUnderIconList": []}, {"item_id": 534696374914, "title": "\u8001\u677f27N1H+56B0\u5b98\u65b9\u6cb9\u70df\u673a\u5929\u71c3\u6c14\u7076\u5957\u9910\u53a8\u623f\u70df\u673a\u7076\u5177\u5957\u88c5\u70df\u7076\u7ec4\u5408", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01oj85851IOulNflQYs_!!0-item_pic.jpg", "sold": "2", "quantity": 401, "totalSoldQuantity": 6698, "url": "//detail.m.tmall.com/item.htm?id=534696374914", "price": "4999.00", "titleUnderIconList": []}, {"item_id": 527357075180, "title": "\u30103\u671f\u514d\u606f\u3011HP\u60e0\u666e\u6253\u5370\u673a\u5bb6\u7528\u5f69\u8272\u55b7\u58a8\u7167\u7247\u6253\u5370\u673a\u624b\u673a\u65e0\u7ebf\u626b\u63cf\u590d\u5370\u4e00\u4f53\u673a\u5bb6\u7528\u4f183636", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01UMWI2d1IOulUIlEyi_!!2-item_pic.png", "sold": "32", "quantity": 178, "totalSoldQuantity": 5918, "url": "//detail.m.tmall.com/item.htm?id=527357075180", "price": "779.00", "titleUnderIconList": []}, {"item_id": 521250640108, "title": "homa\u5965\u9a6c\u51b0\u7bb1118\u5347\u53cc\u95e8\u4e24\u95e8\u51b0\u7bb1\u5bb6\u7528\u5c0f\u578b\u5bbf\u820d\u79df\u623f\u8282\u80fd\u9759\u97f3\u5c0f\u51b0\u7bb1", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01fWkYEA1IOulNQJLWJ_!!0-item_pic.jpg", "sold": "75", "quantity": 939, "totalSoldQuantity": 22948, "url": "//detail.m.tmall.com/item.htm?id=521250640108", "price": "699.00", "titleUnderIconList": []}, {"item_id": 521256861642, "title": "\u53ef\u67d4\u53ef\u987a\u8863\u7269\u67d4\u987a\u5242(\u6e05\u6021\u6a31\u82b1) 4.26kg \u5a01\u9732\u58eb\u51fa\u54c1", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN0106erQS1IOulSRKQvx_!!0-item_pic.jpg", "sold": "30", "quantity": 2724, "totalSoldQuantity": 58710, "url": "//detail.m.tmall.com/item.htm?id=521256861642", "price": "49.90", "titleUnderIconList": []}, {"item_id": 521258313363, "title": "\u5929\u9645\u9694\u6c34\u7096\u7535\u7096\u9505\u5a74\u513f\u7535\u7096\u76c5\u5168\u81ea\u52a8\u9676\u74f7\u5c0f\u71d5\u7a9d\u8ff7\u4f60\u5b9d\u5b9d\u716e\u7ca5\u9505bb\u7172", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01CzakxK1IOulHtlVsn_!!0-item_pic.jpg", "sold": "187", "quantity": 942, "totalSoldQuantity": 16239, "url": "//detail.m.tmall.com/item.htm?id=521258313363", "price": "79.00", "titleUnderIconList": []}, {"item_id": 521258706569, "title": "Sony/\u7d22\u5c3c Alpha6000L \u6570\u7801\u5fae\u5355APS-C\u753b\u5e45\u76f8\u673a A6000L A6000", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01X2M9oS1IOulREHsVl_!!2-item_pic.png", "sold": "61", "quantity": 82, "totalSoldQuantity": 17916, "url": "//detail.m.tmall.com/item.htm?id=521258706569", "price": "3599.00", "titleUnderIconList": []}, {"item_id": 521259861767, "title": "\u536b\u65b0\u6d17\u8863\u6db2 \u85b0\u8863\u8349 4.26kg \u5a01\u9732\u58eb\u51fa\u54c1", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01qzZbet1IOulMaxEfh_!!2-item_pic.png", "sold": "3994", "quantity": 55282, "totalSoldQuantity": 699039, "url": "//detail.m.tmall.com/item.htm?id=521259861767", "price": "44.90", "titleUnderIconList": []}, {"item_id": 521260444950, "title": "\u98de\u5229\u6d66\u5243\u987b\u5200\u7535\u52a8\u5c0f\u578b\u4fbf\u643aPQ182\u522e\u80e1\u5200\u7537\u58eb\u5145\u7535\u5f0f\u6b63\u54c1\u987b\u5228\u80e1\u987b\u5200", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01aYynGE1IOulLpk6ZH_!!0-item_pic.jpg", "sold": "1950", "quantity": 3004, "totalSoldQuantity": 380889, "url": "//detail.m.tmall.com/item.htm?id=521260444950", "price": "89.00", "titleUnderIconList": []}, {"item_id": 521269390290, "title": "\u8377\u5170\u8fdb\u53e3\u96c0\u5de2\u80fd\u6069al110\u4e73\u7cd6\u4e0d\u8010\u53d7\u5a74\u5e7c\u513f\u725b\u5976\u7c890-1\u5c81400g\u7f50\u88c5", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01eUwKY01IOulR0Egd0_!!0-item_pic.jpg", "sold": "162", "quantity": 780, "totalSoldQuantity": 49482, "url": "//detail.m.tmall.com/item.htm?id=521269390290", "price": "125.00", "titleUnderIconList": []}, {"item_id": 521389068723, "title": "\u6b27\u83b1\u96c5\u590d\u989c\u89c6\u9ec4\u9187\u6297\u76b1\u65e5\u971c50ml \u5927\u7ea2\u7f50\u9762\u971c\uff08\u65b0\u8001\u5305\u88c5\u968f\u673a\u53d1\u8d27\uff09", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01XRnkAr1IOulKyTXSz_!!0-item_pic.jpg", "sold": "57", "quantity": 726, "totalSoldQuantity": 11390, "url": "//detail.m.tmall.com/item.htm?id=521389068723", "price": "195.00", "titleUnderIconList": []}, {"item_id": 522204535039, "title": "\u536b\u65b0 \u9999\u85b0\u6d17\u8863\u6db2 \u7d22\u83f2\u4e9a\u73ab\u7470 4.26kg \u5a01\u9732\u58eb\u51fa\u54c1", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01Skptsc1IOulLUbEr3_!!2-item_pic.png", "sold": "425", "quantity": 13617, "totalSoldQuantity": 247614, "url": "//detail.m.tmall.com/item.htm?id=522204535039", "price": "44.90", "titleUnderIconList": []}, {"item_id": 522223497131, "title": "\u536b\u65b0 \u62a4\u8272\u6d17\u8863\u6db24.26kg \u5a01\u9732\u58eb\u51fa\u54c1 \u82cf\u5b81\u81ea\u8425", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN015oC4JS1IOulC9xKpL_!!2-item_pic.png", "sold": "369", "quantity": 7959, "totalSoldQuantity": 225689, "url": "//detail.m.tmall.com/item.htm?id=522223497131", "price": "44.90", "titleUnderIconList": []}, {"item_id": 522744167225, "title": "\u7f8e\u7684\u5438\u5c18\u5668\u5bb6\u7528\u5f3a\u529b\u5927\u529f\u7387\u5c0f\u578b\u8ff7\u4f60\u624b\u6301\u63a8\u6746\u8f66\u7528\u5438\u5c18\u673aSC861A", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01s24QzQ1IOulPYF4kA_!!0-item_pic.jpg", "sold": "1504", "quantity": 2668, "totalSoldQuantity": 70584, "url": "//detail.m.tmall.com/item.htm?id=522744167225", "price": "139.00", "titleUnderIconList": []}, {"item_id": 522912962168, "title": "\u5229\u4ec1\u7535\u7092\u9505\u7535\u70ed\u716e\u9505\u84b8\u9505\u9505\u5bbf\u820d\u5b66\u751f\u9505\u591a\u529f\u80fd\u5bb6\u7528\u7535\u706b\u9505\u7092\u83dc4\u4eba6\u4eba", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN017mgshb1IOulSBIugJ_!!0-item_pic.jpg", "sold": "14", "quantity": 501, "totalSoldQuantity": 6224, "url": "//detail.m.tmall.com/item.htm?id=522912962168", "price": "139.00", "titleUnderIconList": []}, {"item_id": 523000703198, "title": "\u96c0\u5de2A2\u5988\u5988\u5b55\u4ea7\u5987\u914d\u65b9\u5976\u7c89\uff08\u5b55\u671f\u548c\u54fa\u4e73\u671f\u9002\u7528\uff09350g", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01vFKAK81IOulOSmrMK_!!0-item_pic.jpg", "sold": "0", "quantity": 6, "totalSoldQuantity": 2860, "url": "//detail.m.tmall.com/item.htm?id=523000703198", "price": "99.00", "titleUnderIconList": []}, {"item_id": 523170719664, "title": "\u7f8e\u7684\u7535\u996d\u7172\u5bb6\u7528\u667a\u80fd1-2\u4eba\u591a\u529f\u80fd\u5c0f\u578b\u8ff7\u4f603L\u5347\u95054\u4eba\u5b66\u751f\u65d7\u8230\u5e97\u6b63\u54c1", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01gyNeSk1IOul3Q0TWK_!!0-item_pic.jpg", "sold": "1203", "quantity": 6048, "totalSoldQuantity": 230099, "url": "//detail.m.tmall.com/item.htm?id=523170719664", "price": "159.00", "titleUnderIconList": []}, {"item_id": 523184392348, "title": "za\u9694\u79bb\u971c\u65b0\u7115\u771f\u7699\u9632\u6652\u971c \u8d44\u751f\u5802\u59ec\u82ae\u4e09\u5408\u4e00\u5986\u524d\u6253\u5e95\u4e73\u906e\u7455", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01xktewV1IOulLoEqYD_!!0-item_pic.jpg", "sold": "735", "quantity": 18505, "totalSoldQuantity": 214956, "url": "//detail.m.tmall.com/item.htm?id=523184392348", "price": "59.00", "titleUnderIconList": []}, {"item_id": 523246473550, "title": "\u529b\u58eb\u7cbe\u6cb9\u9999\u6c1b\u5e7d\u83b2\u9b45\u80a4\u6c90\u6d74\u4e731kg \u8054\u5408\u5229\u534e\u51fa\u54c1\uff08\u65b0\u8001\u5305\u88c5\u968f\u673a\uff09", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01HFRaBO1IOulMgnHEh_!!0-item_pic.jpg", "sold": "428", "quantity": 7519, "totalSoldQuantity": 225442, "url": "//detail.m.tmall.com/item.htm?id=523246473550", "price": "29.90", "titleUnderIconList": []}, {"item_id": 523249901479, "title": "Nivea/\u59ae\u7ef4\u96c5\u6da6\u5507\u818f\u53cc\u652f\u6e29\u548c\u5475\u62a4\u6df1\u5ea6\u6ecb\u6da6\u7537\u5973\u5507\u818f4.8g*2", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN012Phej01IOulMgKfi6_!!0-item_pic.jpg", "sold": "196", "quantity": 10, "totalSoldQuantity": 24811, "url": "//detail.m.tmall.com/item.htm?id=523249901479", "price": "23.00", "titleUnderIconList": []}, {"item_id": 523278982819, "title": "HP/\u60e0\u666e1112\u5f69\u8272\u55b7\u58a8\u7167\u7247\u6253\u5370 \u5bb6\u7528\u5b66\u751f\u5c0f\u578b\u8ff7\u4f60A4\u5bb6\u5ead\u4f5c\u4e1a\u529e\u516c\u673a", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01l0A4mE1IOulPIwFxA_!!2-item_pic.png", "sold": "40", "quantity": 625, "totalSoldQuantity": 13604, "url": "//detail.m.tmall.com/item.htm?id=523278982819", "price": "319.00", "titleUnderIconList": []}, {"item_id": 523286834129, "title": "\u677e\u4e0bNR-C31PX3-NL\u91d1\u8272\u8282\u80fd\u98ce\u51b7\u65e0\u971c\u4e09\u5f00\u95e8\u4e09\u95e8\u667a\u80fd\u53d8\u9891\u5bb6\u7528\u7535\u51b0\u7bb1", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01cA73QO1IOulODovV8_!!0-item_pic.jpg", "sold": "85", "quantity": 239, "totalSoldQuantity": 9288, "url": "//detail.m.tmall.com/item.htm?id=523286834129", "price": "3690.00", "titleUnderIconList": []}, {"item_id": 523746658521, "title": "\u5965\u514b\u65af\u5bb6\u7528\u53d6\u6696\u5668\u5c0f\u592a\u9633\u7535\u6696\u6c14\u53f0\u5f0f\u901f\u70ed\u7535\u6696\u5668\u8282\u80fd\u7701\u7535\u70ed\u6247\u70e4\u706b\u7089", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01YZeEIy1IOulKBaDVL_!!0-item_pic.jpg", "sold": "306", "quantity": 145, "totalSoldQuantity": 11244, "url": "//detail.m.tmall.com/item.htm?id=523746658521", "price": "109.00", "titleUnderIconList": []}, {"item_id": 524565490299, "title": "\u91d1\u58eb\u987fU\u76d832g\u9ad8\u901fUSB3.0 DT100G3\u6c7d\u8f66\u8f66\u8f7d\u4f18\u76d8\u7535\u8111\u7cfb\u7edf\u95ea\u5b58\u76d8", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01cYk4en1IOulRCUN7D_!!2-item_pic.png", "sold": "416", "quantity": 3420, "totalSoldQuantity": 23846, "url": "//detail.m.tmall.com/item.htm?id=524565490299", "price": "29.90", "titleUnderIconList": []}, {"item_id": 524567889914, "title": "\u91d1\u58eb\u987fDTSE9\u6c7d\u8f66\u8f7d\u6b4c\u66f2\u7535\u8111\u7cfb\u7edf\u4f18\u76d8\u91d1\u5c5e\u8ff7\u4f6032GB U\u76d8\u4fbf\u643a", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01KN9LOB1IOuklBFk35_!!1-item_pic.gif", "sold": "22", "quantity": 485, "totalSoldQuantity": 7753, "url": "//detail.m.tmall.com/item.htm?id=524567889914", "price": "39.90", "titleUnderIconList": []}, {"item_id": 524576564911, "title": "\u91d1\u58eb\u987fU\u76d864g \u9ad8\u901fUSB3.0 DT100G3 \u6c7d\u8f66\u8f66\u8f7d\u4f18\u76d8\u7535\u8111\u7cfb\u7edf\u95ea\u5b58\u76d8", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN017vLlMO1IOulG1hxS3_!!2-item_pic.png", "sold": "886", "quantity": 3695, "totalSoldQuantity": 23803, "url": "//detail.m.tmall.com/item.htm?id=524576564911", "price": "49.90", "titleUnderIconList": []}, {"item_id": 524809096924, "title": "\u6fb3\u8d1dAUBY\u5a74\u513f\u5065\u8eab\u67b6\u811a\u8e0f\u94a2\u7434\u68ee\u6797\u5065\u8eab\u5668\u591a\u529f\u80fd0-1\u5c81\u5b9d\u5b9d\u6e38\u620f\u73a9\u5177", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN014DBDNo1IOulPFI1oC_!!2-item_pic.png", "sold": "7", "quantity": 190, "totalSoldQuantity": 13097, "url": "//detail.m.tmall.com/item.htm?id=524809096924", "price": "239.00", "titleUnderIconList": []}, {"item_id": 525069933481, "title": "\u5188\u672c001\u907f\u5b55\u5957\u75370.01\u8d85\u8584b\u5b55\u5b89\u5168\u611f\u8584\u578b\u5957\u5957\u7f54\u672c\u6b63\u54c1\u65d7\u8230\u5e97003byt", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01XGa69r1IOulNgIul7_!!0-item_pic.jpg", "sold": "13460", "quantity": 889668, "totalSoldQuantity": 124201, "url": "//detail.m.tmall.com/item.htm?id=525069933481", "price": "46.90", "titleUnderIconList": []}, {"item_id": 525284732366, "title": "\u60e0\u6c0f\u542f\u8d4b3\u6bb5\u5a74\u5e7c\u513f\u725b\u5976\u7c891-3\u5c81900g\u7f50\u88c5\u4e09\u6bb52\u7f50\u88c5", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN012I7WYv1IOulNxhAdz_!!0-item_pic.jpg", "sold": "36", "quantity": 1263, "totalSoldQuantity": 79589, "url": "//detail.m.tmall.com/item.htm?id=525284732366", "price": "712.00", "titleUnderIconList": []}, {"item_id": 525814870023, "title": "\u82cf\u6cca\u5c14\u5200\u5177\u5957\u88c5 \u4e0d\u9508\u94a2\u5168\u5957\u53a8\u623f\u83dc\u5200\u5957\u88c5\u7ec4\u5408\u4e03\u4ef6\u5957T1309E", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN010P7bqZ1IOuia1vABW_!!0-item_pic.jpg", "sold": "17", "quantity": 31, "totalSoldQuantity": 1233, "url": "//detail.m.tmall.com/item.htm?id=525814870023", "price": "179.00", "titleUnderIconList": []}, {"item_id": 526265161692, "title": "Harbin/\u54c8\u5c14\u6ee8\u5564\u9152\u7ecf\u5178\u5c0f\u9ea6\u738b330ml*24\u542c\u6574\u7bb1\u82cf\u5b81\u6613\u8d2d\u6b63\u54c1\u76f4\u53d1", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01qpzux41IOubgPNIxK_!!0-item_pic.jpg", "sold": "33", "quantity": 475, "totalSoldQuantity": 93010, "url": "//detail.m.tmall.com/item.htm?id=526265161692", "price": "59.90", "titleUnderIconList": []}, {"item_id": 526572260926, "title": "\u4e91\u5357\u767d\u836f\u7259\u818f180g\u7559\u5170\u9999\u578b \u82cf\u5b81\u81ea\u8425", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01DKwOga1IOulNZ3GfG_!!0-item_pic.jpg", "sold": "131", "quantity": 170, "totalSoldQuantity": 75336, "url": "//detail.m.tmall.com/item.htm?id=526572260926", "price": "32.00", "titleUnderIconList": []}, {"item_id": 526925059246, "title": "\u718a\u732b6128\u6536\u97f3\u673a\u6570\u663e\u5168\u6ce2\u6bb5\u65b0\u6b3e\u4fbf\u643a\u5f0f\u8001\u4eba\u5e7f\u64ad\u8001\u5f0f\u8c03\u9891\u8ff7\u4f60\u534a\u5bfc\u4f53", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01bjHJne1IOukOBFzZA_!!0-item_pic.jpg", "sold": "239", "quantity": 155, "totalSoldQuantity": 7343, "url": "//detail.m.tmall.com/item.htm?id=526925059246", "price": "109.00", "titleUnderIconList": []}, {"item_id": 526989308463, "title": "\u5584\u5b58\u5343\u6797\u591a\u79cd\u7ef4\u751f\u7d20\u77ff\u7269\u8d28\u7247\u9752\u5c11\u5e74\u578b60\u7247\u7ef4\u751f\u7d20acebd \u5b98\u65b9\u65d7\u8230\u5e97", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01kZVhPy1IOulQFxlmF_!!0-item_pic.jpg", "sold": "13", "quantity": 79, "totalSoldQuantity": 5208, "url": "//detail.m.tmall.com/item.htm?id=526989308463", "price": "158.00", "titleUnderIconList": []}, {"item_id": 527092899098, "title": "\u91d1\u6b63\u517b\u751f\u58f6\u5bb6\u7528\u591a\u529f\u80fd\u73bb\u7483\u70ed\u70e7\u6c34\u58f6\u4fdd\u6e29\u4e00\u4f53\u8ff7\u5c0f\u578b\u6ce1\u8336\u4e13\u7528\u716e\u8336\u5668", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN01QrZDp61IOukffwRaK_!!0-item_pic.jpg", "sold": "26", "quantity": 627, "totalSoldQuantity": 21073, "url": "//detail.m.tmall.com/item.htm?id=527092899098", "price": "79.00", "titleUnderIconList": []}, {"item_id": 527302554201, "title": "\u91d1\u58eb\u987fU\u76d832g DTSE9G2\u968f\u8eab\u91d1\u5c5e\u8ff7\u4f60\u7535\u8111\u7cfb\u7edf\u6c7d\u8f66\u8f7d\u97f3\u4e50\u4f18\u76d8\u95ea\u5b58\u76d8", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01QGqL4T1IOukonYFAp_!!1-item_pic.gif", "sold": "36", "quantity": 12, "totalSoldQuantity": 3467, "url": "//detail.m.tmall.com/item.htm?id=527302554201", "price": "48.80", "titleUnderIconList": []}, {"item_id": 527313898407, "title": "\u98de\u79d1\u7406\u53d1\u5668\u7535\u63a8\u526a\u7535\u63a8\u5b50\u7406\u53d1\u795e\u5668\u81ea\u5df1\u526a\u5934\u53d1\u6cb9\u5934\u5243\u5934\u5200\u5bb6\u7528fc5806", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01DxMaPv1IOulU60SYU_!!0-item_pic.jpg", "sold": "163", "quantity": 952, "totalSoldQuantity": 32323, "url": "//detail.m.tmall.com/item.htm?id=527313898407", "price": "65.00", "titleUnderIconList": []}, {"item_id": 527314935573, "title": "\u98de\u79d1\u7406\u53d1\u5668\u7535\u63a8\u526a\u7535\u63a8\u5b50\u7406\u53d1\u795e\u5668\u81ea\u5df1\u526a\u5934\u53d1\u6cb9\u5934\u5243\u5934\u5200\u5bb6\u7528fc5808", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01OCEtmf1IOulSUnoXd_!!0-item_pic.jpg", "sold": "67", "quantity": 7973, "totalSoldQuantity": 53087, "url": "//detail.m.tmall.com/item.htm?id=527314935573", "price": "69.00", "titleUnderIconList": []}, {"item_id": 527396558408, "title": "HP/\u60e0\u666e803\u58a8\u76d2\u539f\u88c5\u9ed1\u8272\u5f69\u8272\u7167\u7247\u6253\u5370\u673a\u9002\u7528DJ1112 2131 2132 2622 2621", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN014GcE2H1IOuiXcQBis_!!0-item_pic.jpg", "sold": "378", "quantity": 2110, "totalSoldQuantity": 50349, "url": "//detail.m.tmall.com/item.htm?id=527396558408", "price": "89.00", "titleUnderIconList": []}, {"item_id": 527398566166, "title": "\u30103\u671f\u514d\u606f\u3011HP/\u60e0\u666e2132\u5f69\u8272\u55b7\u58a8\u7167\u7247\u6253\u5370\u590d\u5370\u626b\u63cf\u4e00\u4f53\u673aA4\u5bb6\u7528\u5c0f\u578b\u5b66\u751f\u6253\u5370\u673a\u9ed1\u767d\u591a\u529f\u80fd\u4f5c\u4e1a\u6253\u53702621 3636", "img": "//img.alicdn.com/bao/uploaded/i3/2616970884/O1CN01cA15OD1IOulO2jnWm_!!2-item_pic.png", "sold": "133", "quantity": 798, "totalSoldQuantity": 17599, "url": "//detail.m.tmall.com/item.htm?id=527398566166", "price": "389.00", "titleUnderIconList": []}, {"item_id": 527402800143, "title": "\u98de\u79d1\u7406\u53d1\u5668\u7535\u63a8\u526a\u7535\u63a8\u5b50\u7406\u53d1\u795e\u5668\u81ea\u5df1\u526a\u5934\u53d1\u6cb9\u5934\u5243\u5934\u5200\u5bb6\u7528fc5902", "img": "//img.alicdn.com/bao/uploaded/i1/2616970884/O1CN015nz3Ol1IOulSZZrhk_!!0-item_pic.jpg", "sold": "145", "quantity": 1224, "totalSoldQuantity": 18242, "url": "//detail.m.tmall.com/item.htm?id=527402800143", "price": "119.00", "titleUnderIconList": []}, {"item_id": 527440108816, "title": "\u5929\u5802\u4f1e 339S\u683c\u9ad8\u5bc6\u9690\u683c\u805a\u916f\u7eba\u4e09\u6298\u6674\u96e8\u4f1e", "img": "//img.alicdn.com/bao/uploaded/i4/2616970884/O1CN01hMz57e1IOuhMm2fHm_!!0-item_pic.jpg", "sold": "10", "quantity": 5976, "totalSoldQuantity": 6743, "url": "//detail.m.tmall.com/item.htm?id=527440108816", "price": "24.90", "titleUnderIconList": []}, {"item_id": 527639964960, "title": "\u9499\u5c14\u5947\u4e2d\u8001\u5e74\u6dfb\u4f73\u7247100\u7247\u7ef4\u751f\u7d20D\u4fc3\u5438\u6536\u6210\u4eba\u7537\u5973\u8865\u9499\u5b98\u65b9\u65d7\u8230\u5e97", "img": "//img.alicdn.com/bao/uploaded/i2/2616970884/O1CN01NDy2Q01IOulLoo5I8_!!0-item_pic.jpg", "sold": "114", "quantity": 4461, "totalSoldQuantity": 9707, "url": "//detail.m.tmall.com/item.htm?id=527639964960", "price": "61.00", "titleUnderIconList": []}], "current_page": "1", "page_size": "24", "total_results": "18002"} 46 | 47 | {"shop_id": "106763467", "user_id": "1825542166", "shop_title": "\u4e0a\u6c7d\u5927\u4f17\u5927\u4f17\u65d7\u8230\u5e97", "total_page": "7", "shop_Url": "//svw.tmall.com", "items": [{"item_id": 551652411332, "title": "\u5927\u4f17\u71c3\u6cb9\u5b9d\u6e05\u9664\u79ef\u78b3\u71c3\u6cb9\u6dfb\u52a0\u5242g17\u53d1\u52a8\u673a\u5185\u90e8\u6cb9\u8def\u6e05\u6d17\u5242150ml*6", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN011dgz3k1Rs4WGwr01u_!!1825542166-0-picasso.jpg", "sold": "5", "quantity": 197, "totalSoldQuantity": 6666, "url": "//detail.m.tmall.com/item.htm?id=551652411332", "price": "480.00", "titleUnderIconList": []}, {"item_id": 560886773947, "title": "\u5927\u4f17\u5b89\u5168\u5ea7\u69053-12\u5c81\u5b9d\u5b9d\u513f\u7ae5\u5ea7\u6905\u6c7d\u8f66\u4fbf\u643a", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01yk9Ojo1Rs4W1xiFCG_!!0-item_pic.jpg", "sold": "0", "quantity": 1905, "totalSoldQuantity": 282, "url": "//detail.m.tmall.com/item.htm?id=560886773947", "price": "2680.00", "titleUnderIconList": []}, {"item_id": 566853267453, "title": "\u5927\u4f17\u6c7d\u8f66\u4e13\u7528\u8865\u6f06\u7b14\u73cd\u73e0\u767d\u94f6\u9ed1\u8272\u8f66\u6f06\u5212\u522e\u75d5\u70b9\u4fee\u590d\u4fee\u8865\u6cb9\u6f06\u7b14\u795e\u5668", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01GoSdfA1Rs4WJhSquq_!!1825542166-0-picasso.jpg", "sold": "150", "quantity": 1316, "totalSoldQuantity": 4485, "url": "//detail.m.tmall.com/item.htm?id=566853267453", "price": "65.00", "titleUnderIconList": []}, {"item_id": 567174852899, "title": "\u5927\u4f17\u6c7d\u8f66\u73bb\u7483\u6c34\u8f66\u7528\u539f\u5382\u96e8\u522e\u6c34\u6c7d\u8f66\u73bb\u7483\u6db2\u9632\u51bb\u56db\u5b63\u901a\u7528\u590f\u5b63\u96e8\u5237\u7cbe", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01qsD5h41Rs4WIzJVYb_!!1825542166-0-picasso.jpg", "sold": "26", "quantity": 93, "totalSoldQuantity": 3180, "url": "//detail.m.tmall.com/item.htm?id=567174852899", "price": "59.00", "titleUnderIconList": []}, {"item_id": 567381234579, "title": "\u5927\u4f17\u539f\u5382\u9632\u51bb\u6db2\u6c34\u7bb1\u65e0\u6c34\u6c7d\u8f66\u901a\u7528\u9632\u9ad8\u6e29\u53d1\u52a8\u673a\u56db\u5b63\u901a\u7528\u51b7\u5374\u6db22L", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01J4LHzi1Rs4WJhTWYl_!!1825542166-0-picasso.jpg", "sold": "32", "quantity": 50, "totalSoldQuantity": 4746, "url": "//detail.m.tmall.com/item.htm?id=567381234579", "price": "89.00", "titleUnderIconList": []}, {"item_id": 576688891248, "title": "\u3010\u5929\u732b\u767e\u4ebf\u8865\u8d341111\u5143\u3011\u4e0a\u6c7d\u5927\u4f17 \u51cc\u6e21 \u5168\u7cfb\u65b0\u8f66\u8ba2\u91d1", "img": "//img.alicdn.com/bao/uploaded/i4/1825542166/O1CN01o0dvPS1Rs4WHGStcQ_!!0-item_pic.jpg", "sold": "7", "quantity": 7309, "totalSoldQuantity": 2471, "url": "//detail.m.tmall.com/item.htm?id=576688891248", "price": "8.80", "titleUnderIconList": []}, {"item_id": 560545493831, "title": "\u6c7d\u8f66\u5b89\u5168\u9524\u8f66\u8f7d\u591a\u529f\u80fd\u6025\u6551\u5f3a\u95ea\u5149\u624b\u7535\u7b52\u8f66\u7528\u5e94\u6025\u9003\u751f\u6d88\u9632\u9524\u7834\u7a97\u5668", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01Y243YQ1Rs4WLeMgRZ_!!1825542166-0-picasso.jpg", "sold": "79", "quantity": 98263, "totalSoldQuantity": 3012, "url": "//detail.m.tmall.com/item.htm?id=560545493831", "price": "49.00", "titleUnderIconList": []}, {"item_id": 562005585069, "title": "\u5927\u4f17\u71c3\u6cb9\u5b9d\u9664\u79ef\u78b3\u6c7d\u6cb9g17\u71c3\u6cb9\u6dfb\u52a0\u5242\u6c7d\u8f66\u53d1\u52a8\u673a\u7701\u6cb9\u5185\u90e8\u6e05\u6d17150ml", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01p5rZLH1Rs4WH4bgv2_!!1825542166-0-picasso.jpg", "sold": "15", "quantity": 192, "totalSoldQuantity": 1089, "url": "//detail.m.tmall.com/item.htm?id=562005585069", "price": "80.00", "titleUnderIconList": []}, {"item_id": 600347981466, "title": "\u4e50\u4eab\u53cc\u53e3USB\u5145\u7535\u5668\u667a\u80fd\u5feb\u5145\u8f66\u5145\u7535\u5668\u539f\u5382\u8f66\u54c1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01BrzVHe1Rs4VvTHVTI_!!0-item_pic.jpg", "sold": "6", "quantity": 815, "totalSoldQuantity": 160, "url": "//detail.m.tmall.com/item.htm?id=600347981466", "price": "73.00", "titleUnderIconList": []}, {"item_id": 570807041857, "title": "\u4f17e\u8054 \u4e0a\u6c7d\u5927\u4f17\u539f\u88c5\u667a\u80fd\u884c\u8f66\u52a9\u624b 2020\u6b3e", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01sMKpUj1Rs4WMvEtRk_!!1825542166-0-picasso.jpg", "sold": "0", "quantity": 22, "totalSoldQuantity": 308, "url": "//detail.m.tmall.com/item.htm?id=570807041857", "price": "399.00", "titleUnderIconList": []}, {"item_id": 599843397155, "title": "\u4e0a\u6c7d\u5927\u4f17 \u5168\u65b0\u9014\u89c2L \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i4/1825542166/O1CN01q4tSp51Rs4RvHiaHJ_!!0-item_pic.jpg", "sold": "1", "quantity": 848, "totalSoldQuantity": 22, "url": "//detail.m.tmall.com/item.htm?id=599843397155", "price": "2238.00", "titleUnderIconList": []}, {"item_id": 600043394608, "title": "\u4e0a\u6c7d\u5927\u4f17 \u9014\u6602 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i3/1825542166/O1CN01bRHS9W1Rs4RyulYbv_!!0-item_pic.jpg", "sold": "0", "quantity": 559, "totalSoldQuantity": 18, "url": "//detail.m.tmall.com/item.htm?id=600043394608", "price": "3328.00", "titleUnderIconList": []}, {"item_id": 560941893640, "title": "\u5927\u4f17POLO\u6c7d\u8f66\u7a7a\u8c03\u6ee4\u82af\u539f\u5382\u9002\u7528\u4e8e\u9014\u89c2\u6717\u9038\u5927\u4f17\u4e13\u7528\u6d3b\u6027\u70ad\u7a7a\u8c03\u6ee4\u82af", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN015Yniyj1Rs4WL0W4DR_!!1825542166-0-picasso.jpg", "sold": "9", "quantity": 30546, "totalSoldQuantity": 1151, "url": "//detail.m.tmall.com/item.htm?id=560941893640", "price": "118.00", "titleUnderIconList": []}, {"item_id": 562043473234, "title": "\u5927\u4f17\u6321\u6ce5\u677f\u6851\u5854\u7eb3POLO\u5e15\u8428\u7279\u6717\u9038\u6c7d\u8f66\u914d\u4ef6\u6321\u6ce5\u677f\u539f\u5382\u7ecf\u5178\u6c7d\u8f66\u901a\u7528", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01LOpnoL1Rs4VzP77lB_!!0-item_pic.jpg", "sold": "2", "quantity": 23354, "totalSoldQuantity": 849, "url": "//detail.m.tmall.com/item.htm?id=562043473234", "price": "100.00", "titleUnderIconList": []}, {"item_id": 568784144379, "title": "\u5927\u4f17\u539f\u5382\u71c3\u6cb9\u5b9d\u9664\u79ef\u78b3\u6c7d\u6cb9\u71c3\u6cb9\u6c7d\u6cb9\u6dfb\u52a0\u5242g17\u6cb9\u8def\u6e05\u6d17\u5242\u5355\u54c170ml", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01SjqPSV1Rs4WGvWI6t_!!1825542166-0-picasso.jpg", "sold": "46", "quantity": 189, "totalSoldQuantity": 1503, "url": "//detail.m.tmall.com/item.htm?id=568784144379", "price": "48.00", "titleUnderIconList": []}, {"item_id": 560192862362, "title": "\u4e0a\u6d77\u5927\u4f17\u968f\u4eab\u8f66\u8f7d\u591a\u529f\u80fd\u70df\u7070\u7f38\u8010\u9ad8\u6e29\u6c7d\u8f66\u901a\u7528\u50a8\u7269\u76d2\u7f50\u96f6\u94b1\u6536\u7eb3\u76d2", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01SAW66t1Rs4VxNCW6t_!!0-item_pic.jpg", "sold": "3", "quantity": 894, "totalSoldQuantity": 576, "url": "//detail.m.tmall.com/item.htm?id=560192862362", "price": "98.00", "titleUnderIconList": []}, {"item_id": 562113414507, "title": "\u4e0a\u6c7d\u5927\u4f17\u6c7d\u8f66\u7acb\u4f53\u811a\u57ab\u9002\u7528\u4e8e\u6717\u9038\u51cc\u6e21\u901a\u7528\u591a\u8f66\u578b\u4e13\u7528\u811a\u57ab\u6613\u6e05\u6d17", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01M3efRC1Rs4WEQvudO_!!1825542166-0-picasso.jpg", "sold": "5", "quantity": 4982, "totalSoldQuantity": 680, "url": "//detail.m.tmall.com/item.htm?id=562113414507", "price": "410.00", "titleUnderIconList": []}, {"item_id": 561132274076, "title": "\u4e0a\u6c7d\u5927\u4f17\u6c7d\u8f66\u540e\u5907\u7bb1\u57ab\u9002\u7528\u4e8e\u6717\u9038\u51cc\u6e21\u540e\u80cc\u7bb1\u57ab\u5927\u4f17\u6c7d\u8f66\u4e13\u7528\u5c3e\u7bb1\u57ab", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01H5mqWd1Rs4WHvRek0_!!1825542166-0-picasso.jpg", "sold": "2", "quantity": 3883, "totalSoldQuantity": 564, "url": "//detail.m.tmall.com/item.htm?id=561132274076", "price": "398.00", "titleUnderIconList": []}, {"item_id": 562145603496, "title": "\u5927\u4f17\u8f66\u8f7d\u7a7a\u6c14\u51c0\u5316\u5668\u9664\u7532\u919b\u51c0\u4eab\u8d1f\u79bb\u5b50\u8f66\u7528\u6e05\u9664\u5f02\u5473\u6c7d\u8f66 2020\u6b3e", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01YPKzt51Rs4W8YrquC_!!1825542166-0-picasso.jpg", "sold": "1", "quantity": 19746, "totalSoldQuantity": 394, "url": "//detail.m.tmall.com/item.htm?id=562145603496", "price": "390.00", "titleUnderIconList": []}, {"item_id": 587564156718, "title": "\u4e0a\u6c7d\u5927\u4f17\u901a\u7528\u8f6c\u6362\u63d2\u5934\u51fa\u56fd\u4fbf\u643a\u65c5\u884cUSB\u5145\u7535\u5934\u4e07\u7528\u63d2\u5934\u63d2\u5ea7\u8f6c\u6362\u5668", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01Y9qxRa1Rs4Vp4JEcS_!!0-item_pic.jpg", "sold": "0", "quantity": 58, "totalSoldQuantity": 38, "url": "//detail.m.tmall.com/item.htm?id=587564156718", "price": "75.00", "titleUnderIconList": []}, {"item_id": 562042941605, "title": "\u4e0a\u6c7d\u5927\u4f17 \u6c7d\u8f66\u811a\u57ab\u5927\u4f17\u901a\u7528\u591a\u8f66\u578b\u4e13\u7528\u811a\u57ab\u6613\u6e05\u6d17\u539f\u88c5\u4e1d\u7ed2\u811a\u57ab", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01clkW3E1Rs4W8YPSG1_!!1825542166-0-picasso.jpg", "sold": "0", "quantity": 30, "totalSoldQuantity": 183, "url": "//detail.m.tmall.com/item.htm?id=562042941605", "price": "668.00", "titleUnderIconList": []}, {"item_id": 600208883585, "title": "\u4e0a\u6c7d\u5927\u4f17 Polo \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i4/1825542166/O1CN011rpW7x1Rs4UAlmel8_!!0-item_pic.jpg", "sold": "0", "quantity": 782, "totalSoldQuantity": 10, "url": "//detail.m.tmall.com/item.htm?id=600208883585", "price": "1488.00", "titleUnderIconList": []}, {"item_id": 556375727122, "title": "\u4e0a\u6d77\u5927\u4f17 \u8f89\u6602\u4fdd\u6e29\u676f\u8f66\u8f7d\u6c34\u676f304\u4e0d\u9508\u94a2\u4fbf\u643a\u6c34\u676f\u4fdd\u6e29\u6c34\u58f6\u539f\u5382\u8f66\u54c1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01lQxrRx1Rs4W1zhhoe_!!0-item_pic.jpg", "sold": "3", "quantity": 9907, "totalSoldQuantity": 178, "url": "//detail.m.tmall.com/item.htm?id=556375727122", "price": "110.00", "titleUnderIconList": []}, {"item_id": 606750971033, "title": "\u4e0a\u6d77\u5927\u4f17\u6c7d\u8f66\u5750\u57ab\u56db\u5b63\u901a\u7528\u5927\u4f17\u5ea7\u5957\u9002\u7528\u4e8e\u9014\u89c2l\u6717\u884c\u6717\u9038\u6c7d\u8f66\u5ea7\u57ab", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01vbVXeK1Rs4WGerA9f_!!1825542166-0-picasso.jpg", "sold": "2", "quantity": 4970, "totalSoldQuantity": 27, "url": "//detail.m.tmall.com/item.htm?id=606750971033", "price": "768.00", "titleUnderIconList": []}, {"item_id": 606914839806, "title": "\u884c\u8f66\u8bb0\u5f55\u4eea\u9ad8\u6e05\u5f71\u50cf\u8f66\u8f7d\u8bb0\u5f55\u4eea\u5e7f\u89d2\u539f\u5382\u8bb0\u5f55\u4eea", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01a0ZJ0t1Rs4WMvF60w_!!1825542166-0-picasso.jpg", "sold": "1", "quantity": 1909, "totalSoldQuantity": 143, "url": "//detail.m.tmall.com/item.htm?id=606914839806", "price": "598.00", "titleUnderIconList": []}, {"item_id": 600228627066, "title": "\u4e0a\u6c7d\u5927\u4f17 \u9014\u89c2 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01orgd0c1Rs4R2DUc0T_!!0-item_pic.jpg", "sold": "3", "quantity": 873, "totalSoldQuantity": 14, "url": "//detail.m.tmall.com/item.htm?id=600228627066", "price": "1988.00", "titleUnderIconList": []}, {"item_id": 560452568966, "title": "\u4e0a\u6c7d\u5927\u4f17\u6c7d\u8f66\u8170\u9760\u56db\u5b63\u901a\u7528\u5ea7\u6905\u8f66\u9760\u80cc\u57ab\u8f66\u7528\u62a4\u8170\u6c7d\u8f66\u9760\u57ab\u8170\u57ab", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01DPIOI41Rs4WLfSDtw_!!1825542166-0-picasso.jpg", "sold": "4", "quantity": 982, "totalSoldQuantity": 207, "url": "//detail.m.tmall.com/item.htm?id=560452568966", "price": "130.00", "titleUnderIconList": []}, {"item_id": 600041402627, "title": "\u4e0a\u6c7d\u5927\u4f17 \u5168\u65b0\u5e15\u8428\u7279 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN012gkSzZ1Rs4Qz2X2u2_!!0-item_pic.jpg", "sold": "0", "quantity": 683, "totalSoldQuantity": 4, "url": "//detail.m.tmall.com/item.htm?id=600041402627", "price": "1978.00", "titleUnderIconList": []}, {"item_id": 578156316528, "title": "\u4e0a\u6c7d\u5927\u4f17\u6c7d\u8f66\u6302\u94a9\u6905\u80cc\u6302\u94a9\u4efb\u4eab\u968f\u884c\u6302\u5305\u591a\u529f\u80fd\u6c7d\u8f66\u6302\u4ef6\u8f66\u5185\u88c5\u9970\u54c1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01qYZdUf1Rs4VwwRu83_!!0-item_pic.jpg", "sold": "0", "quantity": 75, "totalSoldQuantity": 17, "url": "//detail.m.tmall.com/item.htm?id=578156316528", "price": "245.00", "titleUnderIconList": []}, {"item_id": 599839245575, "title": "\u4e0a\u6c7d\u5927\u4f17 \u5168\u65b0\u6717\u9038 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i3/1825542166/O1CN01Hlx1nd1Rs4R3SFVhn_!!0-item_pic.jpg", "sold": "1", "quantity": 868, "totalSoldQuantity": 11, "url": "//detail.m.tmall.com/item.htm?id=599839245575", "price": "1558.00", "titleUnderIconList": []}, {"item_id": 571354068153, "title": "\u4e0a\u6d77\u5927\u4f17\u6c7d\u8f66 \u7ec7\u8349\u7cfb\u5217\u5ea7\u57ab \u6e05\u65b0\u6b3e \u8f66\u7528\u590f\u5b63\u5750\u57ab \u6717\u9038Polo\u901a\u7528\u6b3e", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01B0tNLh1Rs4WGevjEH_!!1825542166-0-picasso.jpg", "sold": "3", "quantity": 974, "totalSoldQuantity": 306, "url": "//detail.m.tmall.com/item.htm?id=571354068153", "price": "218.00", "titleUnderIconList": []}, {"item_id": 38513828555, "title": "\u4e0a\u6c7d\u5927\u4f17 \u6c7d\u8f66\u96e8\u7709\u9002\u7528\u4e8e\u9014\u89c2\u6717\u9038\u51cc\u6e21\u6674\u96e8\u6321\u8f66\u7a97\u4e13\u7528\u6c7d\u8f66\u6321\u96e8\u677f", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01LWs0f11Rs4WJiOn0p_!!1825542166-0-picasso.jpg", "sold": "1", "quantity": 887, "totalSoldQuantity": 266, "url": "//detail.m.tmall.com/item.htm?id=38513828555", "price": "458.00", "titleUnderIconList": []}, {"item_id": 576029754056, "title": "\u4e0a\u6c7d\u5927\u4f17\u6307\u5c16\u9640\u87ba\u51cf\u538b\u73a9\u5177\u91d1\u5c5e\u6750\u8d28\u6301\u7eed\u65cb\u8f6c\u513f\u7ae5\u73a9\u5177\u793c\u7269\u624b\u6307\u9640\u87ba", "img": "//img.alicdn.com/bao/uploaded/i3/1825542166/O1CN01IMy8NY1Rs4W3mdPIi_!!0-item_pic.jpg", "sold": "0", "quantity": 7450, "totalSoldQuantity": 47, "url": "//detail.m.tmall.com/item.htm?id=576029754056", "price": "58.00", "titleUnderIconList": []}, {"item_id": 562074814733, "title": "\u5927\u4f17\u513f\u7ae5\u5b89\u5168\u5ea7\u6905\u6c7d\u8f66\u75289\u4e2a\u6708-4\u5468\u5c81\u5a74\u513f\u5b9d\u5b9disofix\u63a5\u53e3\u5b89\u5168\u5750\u6905", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01zniuGo1Rs4VxNbYgo_!!0-item_pic.jpg", "sold": "0", "quantity": 19984, "totalSoldQuantity": 12, "url": "//detail.m.tmall.com/item.htm?id=562074814733", "price": "2180.00", "titleUnderIconList": []}, {"item_id": 573554244552, "title": "\u513f\u7ae5\u5b89\u5168\u5ea7\u6905\u6c7d\u8f66\u7528\u4e0a\u62c9\u5e26\u5f0f9\u4e2a\u6708-4\u5c81isofix\u63a5\u53e33C\u8ba4\u8bc1\u6b27\u76df\u8ba4\u8bc1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01FmXxz71Rs4Vx6RsvS_!!0-item_pic.jpg", "sold": "0", "quantity": 19987, "totalSoldQuantity": 10, "url": "//detail.m.tmall.com/item.htm?id=573554244552", "price": "2180.00", "titleUnderIconList": []}, {"item_id": 573454803900, "title": "\u5927\u4f17\u6c7d\u8f66\u8d34\u819c\u9f99\u819c\u9632\u7206\u9694\u70ed\u819c\u8f66\u819c\u8f66\u7a97\u8d34\u819c\u6c7d\u8f66\u73bb\u7483\u819c\u5168\u8f66\u592a\u9633\u819c", "img": "//img.alicdn.com/bao/uploaded/i3/1825542166/O1CN01XVJbYQ1Rs4UDnra4I_!!0-item_pic.jpg", "sold": "0", "quantity": 99974, "totalSoldQuantity": 14, "url": "//detail.m.tmall.com/item.htm?id=573454803900", "price": "2000.00", "titleUnderIconList": []}, {"item_id": 602453759683, "title": "\u4e0a\u6c7d\u5927\u4f17 \u5168\u65b0\u51cc\u6e21 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i4/1825542166/O1CN01GbPDuq1Rs4R1dQ9Wz_!!0-item_pic.jpg", "sold": "0", "quantity": 586, "totalSoldQuantity": 5, "url": "//detail.m.tmall.com/item.htm?id=602453759683", "price": "1778.00", "titleUnderIconList": []}, {"item_id": 594909235317, "title": "\u4e0a\u6c7d\u5927\u4f17 \u81ea\u52a8\u5f00\u5408\u53cd\u5411\u4f1e", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01QNkMZm1Rs4W6VPeme_!!0-item_pic.jpg", "sold": "4", "quantity": 953, "totalSoldQuantity": 40, "url": "//detail.m.tmall.com/item.htm?id=594909235317", "price": "158.00", "titleUnderIconList": []}, {"item_id": 599610080555, "title": "\u4e0a\u6c7d\u5927\u4f17 \u5168\u65b0\u9014\u5b89 L \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i3/1825542166/O1CN011XnMNk1Rs4R3efXml_!!0-item_pic.jpg", "sold": "0", "quantity": 882, "totalSoldQuantity": 6, "url": "//detail.m.tmall.com/item.htm?id=599610080555", "price": "1738.00", "titleUnderIconList": []}, {"item_id": 599612236163, "title": "\u4e0a\u6c7d\u5927\u4f17 \u8f89\u6602 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i2/1825542166/O1CN01jA3xUv1Rs4R3ejIs3_!!0-item_pic.jpg", "sold": "0", "quantity": 590, "totalSoldQuantity": 2, "url": "//detail.m.tmall.com/item.htm?id=599612236163", "price": "2968.00", "titleUnderIconList": []}, {"item_id": 599841021374, "title": "\u4e0a\u6c7d\u5927\u4f17 \u9014\u5b89 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i4/1825542166/O1CN01wD4Utx1Rs4R1nYwLw_!!0-item_pic.jpg", "sold": "0", "quantity": 295, "totalSoldQuantity": 1, "url": "//detail.m.tmall.com/item.htm?id=599841021374", "price": "1978.00", "titleUnderIconList": []}, {"item_id": 600222731476, "title": "\u4e0a\u6c7d\u5927\u4f17 \u65b0\u6851\u5854\u7eb3 \u4fdd\u517b\u5957\u99104S\u4e13\u4e1a\u670d\u52a1", "img": "//img.alicdn.com/bao/uploaded/i3/1825542166/O1CN01oNoopP1Rs4U9Ad4h5_!!0-item_pic.jpg", "sold": "0", "quantity": 874, "totalSoldQuantity": 7, "url": "//detail.m.tmall.com/item.htm?id=600222731476", "price": "1488.00", "titleUnderIconList": []}, {"item_id": 561909320382, "title": "\u4e0a\u6d77\u5927\u4f17\u6c7d\u8f66\u5750\u57ab\u590f\u5b63\u56db\u5b63\u901a\u7528\u4e13\u8f66\u4e13\u7528\u4e9a\u9ebb\u901a\u98ce\u900f\u6c14\u6c7d\u8f66\u5ea7\u57ab", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01ebsxap1Rs4WGeykUc_!!1825542166-0-picasso.jpg", "sold": "0", "quantity": 99973, "totalSoldQuantity": 53, "url": "//detail.m.tmall.com/item.htm?id=561909320382", "price": "1080.00", "titleUnderIconList": []}, {"item_id": 562074870449, "title": "\u4e0a\u6d77\u5927\u4f17\u5168\u65b0\u5e15\u8428\u7279 1:18\u8f66\u6a21\u6c7d\u8f66\u6a21\u578b\u4eff\u771f\u8f66\u6a21\u6536\u85cf\u6446\u4ef6 \u539f\u5382\u8f66\u54c1", "img": "//img.alicdn.com/bao/uploaded/i2/1825542166/O1CN019IqjmX1Rs4W03rWSj_!!0-item_pic.jpg", "sold": "0", "quantity": 7, "totalSoldQuantity": 23, "url": "//detail.m.tmall.com/item.htm?id=562074870449", "price": "566.00", "titleUnderIconList": []}, {"item_id": 560414124842, "title": "\u5927\u4f17\u513f\u7ae5\u5b89\u5168\u5ea7\u6905\u6c7d\u8f66\u75280-4\u5c81isofix\u63a5\u53e33C\u8ba4\u8bc1\u6b27\u76df\u8ba4\u8bc1\u513f\u7ae5\u5750\u6905", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01PSVcVe1Rs4Vx6bkjO_!!0-item_pic.jpg", "sold": "0", "quantity": 19975, "totalSoldQuantity": 5, "url": "//detail.m.tmall.com/item.htm?id=560414124842", "price": "3288.00", "titleUnderIconList": []}, {"item_id": 560192566651, "title": "\u4e0a\u6d77\u5927\u4f17 \u5168\u65b0\u9014\u5b89L\u8f66\u6a211:18\u6c7d\u8f66\u6a21\u578b\u4eff\u771f\u8f66\u6a21\u6536\u85cf\u6446\u4ef6 \u539f\u5382\u8f66\u54c1", "img": "//img.alicdn.com/bao/uploaded/i2/1825542166/O1CN01AZzNTq1Rs4UBccQC6_!!0-item_pic.jpg", "sold": "0", "quantity": 1, "totalSoldQuantity": 17, "url": "//detail.m.tmall.com/item.htm?id=560192566651", "price": "560.00", "titleUnderIconList": []}, {"item_id": 560942513412, "title": "\u4e0a\u6d77\u5927\u4f17\u5168\u65b0\u6717\u90381:18\u6c7d\u8f66\u6a21\u578b\u4eff\u771f\u8f66\u6a21\u6536\u85cf\u914d\u4ef6\u539f\u5382\u8f66\u54c1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/O1CN01zAGqKV1Rs4VtiFfx7_!!0-item_pic.jpg", "sold": "0", "quantity": 30, "totalSoldQuantity": 8, "url": "//detail.m.tmall.com/item.htm?id=560942513412", "price": "560.00", "titleUnderIconList": []}, {"item_id": 562145539510, "title": "\u4e0a\u6d77\u5927\u4f17 \u9014\u6602\u8f66\u6a211:18\u6c7d\u8f66\u6a21\u578b\u4eff\u771f\u8f66\u6a21 \u6536\u85cf\u6c7d\u8f66\u6a21\u578b \u539f\u5382\u8f66\u54c1", "img": "//img.alicdn.com/bao/uploaded/i1/1825542166/TB1VlswbhjaK1RjSZKzXXXVwXXa_!!0-item_pic.jpg", "sold": "0", "quantity": 2, "totalSoldQuantity": 28, "url": "//detail.m.tmall.com/item.htm?id=562145539510", "price": "600.00", "titleUnderIconList": []}], "current_page": "1", "page_size": "24", "total_results": "145"} 48 | """ 49 | -------------------------------------------------------------------------------- /tpp电影购票平台评分.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/17 11:20 5 | """ 6 | from pool import * 7 | import requests 8 | import json 9 | import time 10 | import re 11 | import hashlib 12 | from retrying import retry 13 | 14 | 15 | def h_md5(s): 16 | m = hashlib.md5() 17 | b = s.encode(encoding='utf-8') 18 | m.update(b) 19 | md5_s = m.hexdigest() 20 | return md5_s 21 | 22 | 23 | def get_cookie(): 24 | url = 'https://acs.m.taopiaopiao.com/h5/mtop.film.mtopshowapi.getuserscorebyshowid/6.9/?appKey=12574478' 25 | headers = { 26 | 'user-agent': get_ua(), 27 | } 28 | response = requests.get(url=url, headers=headers) 29 | ck = response.cookies 30 | m_h5_tk = ck['_m_h5_tk'] 31 | m_h5_tk_enc = ck['_m_h5_tk_enc'] 32 | tk, t = m_h5_tk.split('_') 33 | cks = 'cookie2=115b197e8cca3ffeff588c0a37ad49e6' + '; _m_h5_tk=' + m_h5_tk + '; _m_h5_tk_enc=' + m_h5_tk_enc 34 | return tk, t, cks 35 | 36 | 37 | @retry(stop_max_attempt_number=3) 38 | def get_point(movie_id): 39 | # url = 'https://acs.m.taopiaopiao.com/h5/mtop.film.mtopshowapi.getuserscorebyshowid/6.9' 40 | url = 'https://acs.m.taopiaopiao.com/h5/mtop.film.mtopshowapi.getextendshowbyid/5.4/' 41 | tk, t, cks = get_cookie() 42 | appKey = "12574478" 43 | # data_dic = {"showId": movie_id, "platform": "8"} 44 | data_dic = {"showid": movie_id, "cityCode": "110100", "platform": "8"} 45 | data = json.dumps(data_dic) 46 | s = tk + "&" + t + "&" + appKey + "&" + data 47 | sign = h_md5(s) 48 | params = { 49 | 'appKey': appKey, 50 | 't': t, 51 | 'sign': sign, 52 | 'data': data, 53 | } 54 | cookies = {'cookies': cks} 55 | headers = { 56 | 'user-agent': get_ua(), 57 | } 58 | resp = requests.get(url=url, headers=headers, params=params, cookies=cookies) 59 | return resp 60 | 61 | 62 | def parse_tpp(movie_id): 63 | html = get_point(movie_id) 64 | response = html.json() 65 | ret = response.get('ret') 66 | movie_dic = {} 67 | if "成功" in ''.join(ret): 68 | return_value = response['data']['returnValue'] 69 | avatar = return_value['poster'] 70 | category = return_value['type'] 71 | cate = category.split(',') 72 | timing_length = return_value['duration'] 73 | released_area = return_value['country'] 74 | released_time = return_value['openTime'] 75 | name = return_value['showName'] 76 | score_list = return_value.get('scoreDataList') 77 | point = return_value.get('remark') 78 | wish_num = return_value['scoreAndFavor']['favorCount'] 79 | # show_guide = return_value['showGuide'] 80 | if point: 81 | one_star = score_list[4]['score'] 82 | two_star = score_list[3]['score'] 83 | three_star = score_list[2]['score'] 84 | four_star = score_list[1]['score'] 85 | five_star = score_list[0]['score'] 86 | # tag_list = return_value['tagList'] 87 | # show_sub_guide = return_value['showSubGuide'] 88 | people = return_value['remarkCount'] 89 | watched_num = return_value['scoreAndFavor']['watchCount'] 90 | # wish_num = return_value['scoreAndFavor']['favorCount'] 91 | else: 92 | point = "" 93 | people = "" 94 | watched_num = "" 95 | # wish_num = "" 96 | one_star = "" 97 | two_star = "" 98 | three_star = "" 99 | four_star = "" 100 | five_star = "" 101 | # tags = [] 102 | movie_dic["name"] = name 103 | movie_dic['avatar'] = 'http://gw.alicdn.com/' + avatar 104 | movie_dic['category'] = cate 105 | movie_dic['released_area'] = released_area 106 | movie_dic['timing_length'] = timing_length 107 | movie_dic['released_time'] = released_time 108 | movie_dic["point"] = point 109 | movie_dic["people"] = people 110 | movie_dic["watched"] = watched_num 111 | movie_dic["wish"] = wish_num 112 | movie_dic["one_star"] = one_star 113 | movie_dic["two_star"] = two_star 114 | movie_dic["three_star"] = three_star 115 | movie_dic["four_star"] = four_star 116 | movie_dic["five_star"] = five_star 117 | # movie_dic["tags"] = tags 118 | else: 119 | movie_dic = {} 120 | return movie_dic 121 | 122 | 123 | def manage_tpp_point(movie_id): 124 | data_dic = parse_tpp(movie_id=movie_id) 125 | data_dic["movie_id"] = movie_id 126 | return json.dumps(data_dic, ensure_ascii=False) 127 | 128 | 129 | if __name__ == '__main__': 130 | movie_url = 'https://dianying.taobao.com/showDetail.htm?spm=a1z21.6646273.w2.7.173a584fBe8prc&showId=1322282&n_s=new&source=current' 131 | movie_id = re.findall('.*?[taobao,taopiaopiao].*?show[i, I]d=([0-9]+).*?', movie_url)[0] 132 | print(manage_tpp_point(movie_id=movie_id)) 133 | -------------------------------------------------------------------------------- /tpp电影购票平台评论.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/9/17 11:20 5 | """ 6 | import datetime 7 | import time 8 | import requests 9 | import re 10 | import json 11 | import hashlib 12 | from pool import * 13 | 14 | 15 | class TppComment(object): 16 | def __init__(self): 17 | self.appKey = "12574478" 18 | self.cookie2 = "115b197e8cca3ffeff588c0a37ad49e6" 19 | self.session = requests.session() 20 | self.url = 'https://acs.m.taopiaopiao.com/h5/mtop.film.mtopcommentapi.querytabshowcomments/7.0/' 21 | self.headers = { 22 | 'user-agent': get_ua(), 23 | } 24 | 25 | def hash_md5(self, s): 26 | m = hashlib.md5() 27 | b = s.encode(encoding='utf-8') 28 | m.update(b) 29 | md5_s = m.hexdigest() 30 | return md5_s 31 | 32 | def session_get(self, showId, page): 33 | ''' 34 | :param pageSize: 目前设置为20*page, 35 | :param page: 控制返回的数量 36 | :return: 37 | ''' 38 | params = { 39 | 'appKey': self.appKey, 40 | } 41 | cookie_jar = self.session.get(url=self.url, headers=self.headers, params=params).cookies 42 | cookie_dic = requests.utils.dict_from_cookiejar(cookie_jar) 43 | m_h5_tk = cookie_dic['_m_h5_tk'] 44 | # m_h5_tk_enc = cookie_dic['_m_h5_tk_enc'] 45 | tk, t = m_h5_tk.split('_') 46 | # cks = 'cookie2=115b197e8cca3ffeff588c0a37ad49e6' + '; _m_h5_tk=' + m_h5_tk + '; _m_h5_tk_enc=' + m_h5_tk_enc 47 | cookie_dic['cookie2'] = self.cookie2 48 | cookies = requests.cookies.cookiejar_from_dict(cookie_dic, cookiejar=None, overwrite=True) 49 | data_dic = {"type": 1, "tab": "NEW", "pageSize": 20 * page, "showId": showId, "cityCode": "110100", 50 | "platform": "8"} 51 | data = json.dumps(data_dic) 52 | s = tk + "&" + t + "&" + self.appKey + "&" + data 53 | sign = self.hash_md5(s) 54 | params = { 55 | 'appKey': self.appKey, 56 | 't': t, 57 | 'sign': sign, 58 | 'data': data 59 | } 60 | data_js = self.session.get(url=self.url, headers=self.headers, params=params, cookies=cookies).json() 61 | return data_js 62 | 63 | def parse(self, movie_id, page): 64 | data_js = self.session_get(movie_id, page) 65 | comments = data_js['data']['returnValue']['comments'] 66 | comments_list = [] 67 | # now_stamp = int(time.time()) 68 | for comment in comments: 69 | comment_dic = {} 70 | nickname = comment['nickName'] 71 | comment_id = comment['id'] 72 | remark = comment.get('remark') 73 | content = comment['content'] 74 | commentTime = comment['commentTime'] 75 | good = comment['favorCount'] 76 | img = comment['avatar'] 77 | img_flag = re.findall('^(i\d.*?)/', img) 78 | if img_flag: 79 | avatar = 'http://gw.alicdn.com/' + img 80 | else: 81 | avatar = 'http://gw.alicdn.com/tfs/TB1GJJtd2WG3KVjSZPcXXbkbXXa-180-180.png' 82 | # if remark: 83 | # star = float(remark) / 2 84 | # else: 85 | # star = '' 86 | time_stamp = int(commentTime) 87 | # if time_stamp - now_stamp > 60 * 15: 88 | # break 89 | date_array = datetime.datetime.utcfromtimestamp(time_stamp) 90 | time_com = date_array.strftime("%Y-%m-%d %H:%M:%S") 91 | comment_dic['user'] = nickname 92 | comment_dic['img'] = avatar 93 | comment_dic['comment'] = content 94 | comment_dic['comment_id'] = int(comment_id) 95 | comment_dic['remark'] = remark 96 | comment_dic['time'] = time_com 97 | comment_dic['good'] = ''.join(good) 98 | comments_list.append(comment_dic) 99 | return comments_list 100 | 101 | def manage_tpp(self, movie_id, pages): 102 | data_dic = {} 103 | comments_list = [] 104 | # for i in range(pages): 105 | comments_list += self.parse(movie_id, int(pages)) 106 | data_dic["comments"] = comments_list 107 | return json.dumps(data_dic, ensure_ascii=False) 108 | 109 | 110 | if __name__ == '__main__': 111 | movie_url = 'https://dianying.taobao.com/showDetail.htm?spm=a1z21.6646273.w2.7.173a584fBe8prc&showId=1322282&n_s=new&source=current' 112 | movie_id = re.findall('.*?[taobao,taopiaopiao].*?show[i, I]d=([0-9]+).*?', movie_url)[0] 113 | pages = 1 114 | print(TppComment().manage_tpp(movie_id=movie_id, pages=pages)) 115 | -------------------------------------------------------------------------------- /tq.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @Time : 2020/12/2 13:48 3 | # @Author : Jason 4 | # Python3.8 5 | from pool import * 6 | import requests 7 | import re 8 | from lxml import etree 9 | import json 10 | 11 | 12 | def html_get(code, f=None): 13 | # url = f"http://forecast.weather.com.cn/town/weather1dn/{code}.shtml" 14 | if f: 15 | url = f"http://forecast.weather.com.cn/town/weathern/{code}.shtml" 16 | else: 17 | url = f"http://www.weather.com.cn/weather/{code}.shtml" 18 | headers = { 19 | "User-Agent": get_ua(), 20 | } 21 | html = requests.get(url=url, headers=headers) 22 | return html.content.decode('utf8') 23 | 24 | 25 | def parse(response): 26 | tree = etree.HTML(response) 27 | li_list = tree.xpath('.//div[@id="7d"]/ul/li') 28 | seven_list = [] 29 | for li in li_list: 30 | day = li.xpath('./h1/text()') 31 | wea = li.xpath('./p[1]/text()') 32 | tem = li.xpath('./p[@class="tem"]//text()') 33 | win = li.xpath('./p[@class="win"]//text()') 34 | day = ''.join(day).replace('\n', '') 35 | wea = ''.join(wea).replace('\n', '') 36 | tem = ''.join(tem).replace('\n', '') 37 | win = ''.join(win).replace('\n', '') 38 | one_day = { 39 | "day": day, 40 | "wea": wea, 41 | "tem": tem, 42 | "win": win, 43 | } 44 | seven_list.append(one_day) 45 | return seven_list 46 | 47 | 48 | def parse2(response): 49 | tree = etree.HTML(response) 50 | dates_list = tree.xpath('.//ul[@class="date-container"]/li') 51 | 52 | li_list = tree.xpath('.//ul[@class="blue-container backccc"]/li') 53 | seven_list = [] 54 | i = 0 55 | for li in li_list[0:-1]: 56 | day = dates_list[i].xpath('.//text()') 57 | day = ''.join(day).strip() 58 | wea_day = li.xpath('./i[1]/@title') 59 | wea_night = li.xpath('./i[1]/@title') 60 | wea = li.xpath('./p[1]/text()') 61 | wind_day = li.xpath('./div[@class="wind-container"]/i[1]/@title') 62 | wind_night = li.xpath('./div[@class="wind-container"]/i[2]/@title') 63 | win = li.xpath('./p[@class="wind-info info-style"]/text()') 64 | wea_day = ''.join(wea_day).strip() 65 | wea_night = ''.join(wea_night).strip() 66 | wea = ''.join(wea).strip() 67 | wind_day = ''.join(wind_day).strip() 68 | wind_night = ''.join(wind_night).strip() 69 | win = ''.join(win).strip() 70 | i += 1 71 | one_day = { 72 | "day": day, 73 | "wea": { 74 | "day": wea_day, 75 | "night": wea_night, 76 | "wea": wea, 77 | }, 78 | "win": { 79 | "day": wind_day, 80 | "night": wind_night, 81 | "power": win, 82 | }, 83 | } 84 | seven_list.append(one_day) 85 | return seven_list 86 | 87 | 88 | def manage(search): 89 | city_url = f"http://toy1.weather.com.cn/search?cityname={search}" 90 | headers = { 91 | "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36", 92 | } 93 | response = requests.get(url=city_url, headers=headers).content.decode('utf8') 94 | # result = re.findall('"([a-zA-Z0-9]+)~[a-z]+~(.*?)~.*?~(.*?)"', response) 95 | result = re.findall('"([0-9]{9})~[a-z]+~(.*?)~.*?~([\\u4E00-\\u9FA5]+)"', response) 96 | cities_wea = [] 97 | for item in result: 98 | code = item[0] 99 | name = f"{item[2]} {item[1]}" 100 | # print(code, name) 101 | try: 102 | res = html_get(code) 103 | one_city = parse(res) 104 | except: 105 | """没有温度""" 106 | res = html_get(code, f=2) 107 | one_city = parse2(res) 108 | item_dic = { 109 | "name": name, 110 | "weather": one_city 111 | } 112 | cities_wea.append(item_dic) 113 | print(json.dumps(cities_wea, ensure_ascii=False)) 114 | return cities_wea 115 | 116 | 117 | if __name__ == '__main__': 118 | search = "hz" 119 | manage(search) 120 | -------------------------------------------------------------------------------- /weiboHot.py: -------------------------------------------------------------------------------- 1 | # -*- encoding:utf-8 -*- 2 | """ 3 | @Auth:Jason 4 | @Time:2020/10/13 11:18 5 | """ 6 | import requests 7 | import json 8 | from pool import * 9 | 10 | 11 | # 微热点 12 | 13 | def html_get(url): 14 | headers = { 15 | 'user-agent': get_ua(), 16 | } 17 | data = { 18 | 'timeType': '1', 19 | 'sort': '7', 20 | 'page': '1', 21 | 'pageSize': '100', 22 | 'isLogin': 'false', 23 | } 24 | html = requests.post(url=url, headers=headers, data=data) 25 | return html.json() 26 | 27 | 28 | if __name__ == '__main__': 29 | url = 'https://www.wrd.cn/view/home/hotEvent/selectChooseListData.action' 30 | # url = 'https://www.baidu.com' 31 | res = html_get(url) 32 | print(json.dumps(res, ensure_ascii=False)) 33 | --------------------------------------------------------------------------------