Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 美化组:格式和转换问题_Python_Beautifulsoup - Fatal编程技术网

Python 美化组:格式和转换问题

Python 美化组:格式和转换问题,python,beautifulsoup,Python,Beautifulsoup,我希望刮一个网页,但是HTML中的格式偶尔会改变,并在我的脚本中造成问题。我面临的问题基本上是网页条目是: 类型1: <td> &euro;1 </td> 其中,细分包括我上面显示的两种类型的条目和一些正确输入的附加数据 任何有助于纠正这一问题的帮助都将被大大占用! 您可以使用.get_text(strip=True)而不是.string来获取中的值。例如: from bs4 import Be

我希望刮一个网页,但是HTML中的格式偶尔会改变,并在我的脚本中造成问题。我面临的问题基本上是网页条目是:

类型1:

<td>
            &euro;1                       </td>
其中,细分包括我上面显示的两种类型的条目和一些正确输入的附加数据

任何有助于纠正这一问题的帮助都将被大大占用!
您可以使用
.get_text(strip=True)
而不是
.string
来获取
中的值。例如:

from bs4 import BeautifulSoup

txt = '''
<td>
            &euro;1                       </td>
<td>
        &euro;12,345         <img src="image1" alt="title" class="flag"/>   
                  </td>'''

soup = BeautifulSoup(txt, 'html.parser')

for td in soup.select('td'):
    print(td.get_text(strip=True))

您可以使用
.get_text(strip=True)
而不是
.string
来获取
中的值。例如:

from bs4 import BeautifulSoup

txt = '''
<td>
            &euro;1                       </td>
<td>
        &euro;12,345         <img src="image1" alt="title" class="flag"/>   
                  </td>'''

soup = BeautifulSoup(txt, 'html.parser')

for td in soup.select('td'):
    print(td.get_text(strip=True))

您可以使用switch case检查语句类型,然后根据HTML页面类型执行脚本。即类型1或类型2。编辑:您还可以添加
try
catch
语句以最小化错误。您可以使用开关大小写检查语句类型,然后根据HTML页面类型执行脚本。即类型1或类型2。编辑:您还可以添加
try
catch
语句,以最小化错误。谢谢!这不是我所期望的,但让我找到了解决方案。谢谢!这并不是我所期望的,但让我走上了解决问题的道路。
from bs4 import BeautifulSoup

txt = '''
<td>
            &euro;1                       </td>
<td>
        &euro;12,345         <img src="image1" alt="title" class="flag"/>   
                  </td>'''

soup = BeautifulSoup(txt, 'html.parser')

for td in soup.select('td'):
    print(td.get_text(strip=True))
€1
€12,345