[英]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.