c 抓取网页数据(图里面的内容1.解析()并发请求中的node )
优采云 发布时间: 2021-11-05 16:08c 抓取网页数据(图里面的内容1.解析()并发请求中的node
)
获取下图内容
1.在当前网页右击查看,不能按图中标签进入leader介绍页面。
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']})