循环遍历所有城市信息后返回的是元组 元组里面的城市的名字怎么转换成中文啊
('anji', '\\u5b89\\u5409')
('anyue', '\\u5b89\\u5cb3')
('anxiang', '\\u5b89\\u4e61')
('anhua', '\\u5b89\\u5316')
('aihui', '\\u7231\\u8f89')
('anyuan', '\\u5b89\\u8fdc')
('anding', '\\u5b89\\u5b9a')
('anguo', '\\u5b89\\u56fd')
('anping', '\\u5b89\\u5e73')
('anyanxian', '\\u5b89\\u9633\\u53bf')
20
收起
正在回答 回答被采纳积分+1
2回答
时间,
2020-07-03 18:44:23
同学,你好。同学可以根据下述部分代码得到城市的中文名字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | with open ( 'guazi.js' , 'r' ) as f: file_js = f.read() js = execjs. compile (file_js) js_return = js.call( 'anti' , string, key) cookie_value = 'antipas=' + js_return header[ 'Cookie' ] = cookie_value response = requests.get(url, headers = header) guazi_html = etree.HTML(response.text) # 通过js获取城市名称 script_js = guazi_html.xpath( "//script[3]/text()" )[ 0 ] city_search = re. compile (r '({.*?});' ) city = city_search.findall(script_js) # cityLeft获取城市的中文和英文名 cityOne = json.loads(city[ 0 ]) cityTwo = json.loads(city[ 1 ]) A_N = [ chr (i) for i in range ( 65 , 78 )] M_Z = [ chr (i) for i in range ( 78 , 91 )] all_city = [] for i in A_N: # 根据获取相同首字母的城市列表 each_list1 = cityOne.get(i) if each_list1: all_city.append(each_list1) for i in M_Z: each_list2 = cityTwo.get(i) if each_list2: all_city.append(each_list2) for each_list in all_city: for city in each_list: name = city[ 'domain' ] cityname = city[ 'name' ] print ((name, cityname)) |
或者同学可以将同学的代码提供下,方便更好的为您解决,
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
4.入门主流框架Scrapy与爬虫项目实战
- 参与学习 人
- 提交作业 107 份
- 解答问题 1672 个
Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧