我有一个特定的URL,它给了我一个大的JSON。我使用正则表达式来提取特定属性的值并将其存储在Python字符串中。我捕获的这个值是JavaScript生成的HTML,看起来像
<ul class=\"ylist ylist-bordered search-results\">\n \n \n <li class=\"yloca-search-result\">\n <div class=\"search-result\" data-key=\"ad_business:QaG0eB4HEXgkPIjOCw_3dA\">\n <div class=\"biz-listing-large\">\n <div class=\"main-attributes\">\n <div class=\"media-block media-block--12\">\n <div class=\"media-avatar\">\n <div class=\"photo-box pb-90s\">\n <a href=\"/
全部出现在一行上(就像在这里一样)。 (实际上,&#39;&#39;&#39;来自\ u003c和\ u003e,但我使用Python replace()
方法来纠正这些。)我和我#39;现在要做的就是把它分成多行,这样就可以了:
<ul class=\"ylist ylist-bordered search-results\">
<li class=\"yloca-search-result\">
<div class=\"search-result\" data-key=\"ad_business:QaG0eB4HEXgkPIjOCw_3dA\">
<div class=\"biz-listing-large\">
<div class=\"main-attributes\">
<div class=\"media-block media-block--12\">
<div class=\"media-avatar\">
<div class=\"photo-box pb-90s\">
<a href=\"/
也就是说,我想用实际的换行替换任何一段空格和'\n'
(可能很多)。我无法弄清楚如何做到这一点。我期望任何普通的文本编辑器(我在Windows上使用Sublime)只会将\ n转换为新行,但我正如上所述得到一行。
当我将Python文件写入文本文件并在编辑器中打开时,我如何处理存储上面第一行的Python变量以使其看起来像第二行?
答案 0 :(得分:1)
如果您不想使用re
,只需执行以下操作:
x = '<ul class=\"ylist ylist-bordered search-results\">\n \n \n <li class=\"yloca-search-result\">\n <div class=\"search-result\" data-key=\"ad_business:QaG0eB4HEXgkPIjOCw_3dA\">\n <div class=\"biz-listing-large\">\n <div class=\"main-attributes\">\n <div class=\"media-block media-block--12\">\n <div class=\"media-avatar\">\n <div class=\"photo-box pb-90s\">\n <a href=\"/'
vals = x.split('\n')
filtered_vals = [item.strip() for item in vals if item.strip() != ""]
for item in filtered_vals:
print item