这个为什么返回一个空的列表啊?????还有那个nodes_list是个什么东西啊
来源:14-7 分析和获取所有的版块 - 1

哦呀v度
2019-06-26
import re
import ast
import requests
def get_nodes_jison():
left_menu_text = requests.get(‘https://bbs.csdn.net/dynamic_js/left_menu.js?csdn’).text
nodes_str_match = re.search(“forumNodes: (.*])”,left_menu_text)
if nodes_str_match:
nodes_str = nodes_str_match.group(1).replace("null","None")
nodes_list = ast.literal_eval(nodes_str)
return nodes_list
return []
url_list=[]
def process_nodes_list(nodes_list):
for item in nodes_list:
if "ur1" in item:
url_list.append(item["url"])
if "children" in item:
process_nodes_list(item["children"])
nodes_list = get_nodes_jison()
process_nodes_list(nodes_list)
print(url_list)
写回答
1回答
-
bobby
2019-06-28
import re import ast import requests def get_nodes_jison(): left_menu_text = requests.get("https://bbs.csdn.net/dynamic_js/left_menu.js?csdn").text nodes_str_match = re.search("forumNodes: (.*])",left_menu_text) if nodes_str_match: nodes_str = nodes_str_match.group(1).replace("null","None") nodes_list = ast.literal_eval(nodes_str) return nodes_list url_list=[] def process_nodes_list(nodes_list): for item in nodes_list: if "url" in item: url_list.append(item["url"]) if "children" in item: process_nodes_list(item["children"]) nodes_list = get_nodes_jison() process_nodes_list(nodes_list) print(url_list)
你直接拷贝我这里的代码运行试试,我这里运行过没有问题
022019-08-08
相似问题