要获取如下图里面的内容
1.在当前网页右键检查,按照如图所示的标签无法进入到领导介绍页面
2.分析网页信息,发现请求如下
3.右键查看网页源代码,发现请求中的node_id和cat_id参数是在源代码中js的变量,所以我们要解析这部分变量,拼接url并发请求从而获取到我们需要的数据
4.解析js部分的代码
def parse_url(self, response): node_id = re.findall('var node_id = "(.*?)";', response.text) res_str = re.findall("var zTreeNodes = (.*?);", response.text) if res_str: node_id = node_id[0] res_json = json.loads(res_str[0]) # print("res_json=",res_json) for res in res_json: id = str(res['id']) name = res['text'] url = 'http://www.snbinzhou.gov.cn/info/iList.jsp?isSd=false&node_id=' + node_id + '&cat_id=' + id if “领导” in name: yield Request(url,call_back=self.parse_detail,meta={"item":response.meta['item']})