编辑:好的,这是我正在使用的代码,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">
答案 0 :(得分:0)
默认情况下,.strip()
方法只删除空格,而在您的情况下,您很可能会混合使用换行符和空格,以便更改此尝试:
r = Status.get_text().strip().encode('utf-8')
# to
r = Status.get_text().strip(' \n').encode('utf-8')
' \n'
- 由两个字符组成,一个空格和\n
代表换行符。任何领先或跟随这些角色的人都将被剥夺。