这个为什么返回一个空的列表啊?????还有那个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)

你直接拷贝我这里的代码运行试试,我这里运行过没有问题

0
2
bobby
回复
哦呀v度
好的,
2019-08-08
共2条回复

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2377 学习 · 1158 问题

查看课程