excel - 用美丽的汤努力获得干净的Excel
问题描述
我正在尝试从网站获取有关其营业时间的信息,但我的结果非常令人失望。
import requests
from bs4 import BeautifulSoup
import xlsxwriter
i = "90460"
URL = "https://www.tuodi.it/negozi-dettaglio.cfm?negozio=%s" % i
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
results = soup.find(id="orario" , style="width:50%;float:left")
orari = results.find_all("div", class_="tab", style="width:220px;line-height: 25px")
print(orari)
我的输出如下所示
[<div class="tab" style="width:220px;line-height: 25px">
8,30
- 20,00
<br/>
8,30
- 20,00
<br/>...
但我宁愿有一个可以导出到 excel 形式的结果
提前致谢!
解决方案
要获得结果,您可以使用.stripped_strings
和list comprehension
:
[''.join(x.split()) for x in orari[0].stripped_strings]
这将为您提供一个列表,您可以将其写入文件:
['8,30-20,00', '8,30-20,00', '8,30-20,00', '8,30-20,00', '8,30-20,00', '8,30-20,00', '8,00-13,00']
例子
import requests
from bs4 import BeautifulSoup
import pandas as pd
i = "90460"
URL = "https://www.tuodi.it/negozi-dettaglio.cfm?negozio=%s" % i
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
results = soup.find(id="orario" , style="width:50%;float:left")
orari = results.find_all("div", class_="tab", style="width:220px;line-height: 25px")
data = [''.join(x.split()) for x in orari[0].stripped_strings]
pd.DataFrame([data]).to_excel('test.xslx', index=False)
推荐阅读
- .net - 实体框架不更新记录
- android - 如何反编译kotlin android apk?
- javascript - 页面被阻止时如何在Javascript中获取URL
- excel - 数据未完全从 Excel 链接到 Project
- java - 这些嵌套的 ExecutorServices 在 Java 中有意义吗?
- java - Java合并重叠日期间隔
- open-policy-agent - 捆绑加载失败:附加日志会有所帮助
- python - 剪刀石头布游戏中的“全球”头痛
- ruby-on-rails - AWS 签名版本 4 签名密钥问题 ruby
- activerecord - 保存时带有 SQLite3 错误的 ActiveRecord:没有这样的列