【发布时间】:2018-06-11 15:33:38
【问题描述】:
当我运行我的脚本从网页获取电话号码时,该脚本以一种混乱的方式执行它。我正在粘贴我为实现相同目标而编写的两个不同脚本。
我想坚持使用 oneliner 解决方案(第二个脚本)。如何修改我的第二个脚本以摆脱第一个脚本所做的空白?他们的机器人以相同的方式工作,但为什么输出会有所不同?
这几乎是准确的(只有一个空格出现):
from bs4 import BeautifulSoup
import requests
url = "replace with above link"
req = requests.get(url)
sauce = BeautifulSoup(req.text,"lxml")
for items in sauce.select_one("table[width='610']").select("tr"):
for item in items.select("td"):
if "phone" in item.text:
print(item.find_next_sibling().get_text())
我希望我的脚本如下所示。它还会获取正确的项目,但会出现很多空格。
from bs4 import BeautifulSoup
import requests
url = "replace with above link"
req = requests.get(url)
sauce = BeautifulSoup(req.text,"lxml")
for items in sauce.select_one("table[width='610']").select("tr"):
phone = [item.find_next_sibling().get_text() for item in items.select("td") if "phone" in item.text]
print(phone)
我希望得到的结果(周围没有空格):
212 22 24 24 57
这是它嵌入该网站的方式:
<tr>
<td height="20"><font color="#787878" size="2" face="Arial, Helvetica, sans-serif"><strong>Téléphone
:</strong></font></td>
<td><strong><font color="#919CBA" size="2" face="Arial, Helvetica, sans-serif">
212 22 24 24 57 </font></strong></td>
</tr>
【问题讨论】:
标签: python python-3.x web-scraping