繁体   English   中英

如何从bs4结果中删除字符串?

[英]how to remove a string from bs4 results?

编辑:好的,这是我正在使用的代码,usps跟踪号仅具有邮局的地址。

import requests
from bs4 import BeautifulSoup

url = "https://tools.usps.com/go/TrackConfirmAction.action?tRef=fullpage&tLc=1&text28777=&tLabels=03030130000309293695"

s = requests.Session()
s.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131     Safari/537.36'
r = s.get(url)
soup = BeautifulSoup(r.text, "lxml")


for Status, Location, Time in map(None, soup.find_all("span", {"class":"info-text"}), soup.find_all("td", { "class":"location"})[1:], soup.find_all("td", { "class":"date-time"})):
    print Time.get_text().strip()

这是我得到的输出。

January 24, 2017

                                                        ,
                                                        7:13 am

这就是我想要的样子。

January 24, 2017,

7:13

这也是我正在抓取的HTML。

<td class="date-time">
    <p>
        January 13, 2017
        ,
        2:09 pm
    </p></td>
<td class="status">

默认情况下, .strip()方法仅去除空格,而在您的情况下,您很可能混合使用换行符和空格,以纠正这种尝试更改:

r = Status.get_text().strip().encode('utf-8')
# to
r = Status.get_text().strip(' \n').encode('utf-8')

' \\n'由两个字符组成,一个空格和\\n代表换行符。 这些字符的前导或后继将被删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM