首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第二个python代码bs4并将数据保存到文本文件中

第二个python代码bs4并将数据保存到文本文件中
EN

Stack Overflow用户
提问于 2020-01-06 19:28:38
回答 1查看 117关注 0票数 1

我已经成功地编写了我的第二个python代码,并且我正在尝试从网页上的一个表(即www.ksmnet.org )中提取数据。我需要表格的第二栏的数据,这是今天的日期,我已经设法提取了罚款。但是,我需要将数据的第一列的数据保存为包含第二列数据的文本文件。例如,如果Fajr是05:00,那么我需要将一个文本文件保存为Fajr.txt,而在这个文本文件中,我需要05:00。

我明白有些时候不是用":“的符号,我需要转换它们。因此,例如,具有06.00的需要是06:00。

这是我的代码:

代码语言:javascript
运行
复制
# import libraries
import json
import urllib.request
#import soupsieve
from bs4 import BeautifulSoup
import requests

url = 'https://www.ksmnet.org/'
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
html = response.read()
soup = BeautifulSoup(html.decode("utf-8"), "html.parser")
path = '/srv/docker/homeassistant/prayer/'


table = soup.find('div', id={'prayer': 'listing sortable'})
package = '' ; version = ''
for i in table.select('tr'):
    data = i.select('td')
    if data:
        package = data[0].text.strip()
        version = ' '.join(data[1].text.strip().split())
        print(version)

有人能帮忙吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 19:46:04

下面是在文本文件中编写的代码。

代码语言:javascript
运行
复制
import urllib.request
#import soupsieve
from bs4 import BeautifulSoup
import requests

url = 'https://www.ksmnet.org/'
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
html = response.read()
soup = BeautifulSoup(html.decode("utf-8"), "html.parser")
path = '/srv/docker/homeassistant/prayer/'


table = soup.find('div', id={'prayer': 'listing sortable'})
package = '' ; version = ''
for i in table.select('tr'):
    data = i.select('td')
    if data:
        package = data[0].text.strip()
        file = open(package[:-1] +".txt", "w+")
        version =data[1].text.strip().replace('.',':')
        file.write(version)
        file.close()

或者你也可以使用蟒蛇。

代码语言:javascript
运行
复制
import pandas as pd
url = 'https://www.ksmnet.org/'
df=pd.read_html(url)[0]
for pkg, version in zip(df['Date'],df['06/01']):
    file = open(pkg[:-1] +".txt", "w+")
    version =version.replace('.',':').strip()
    file.write(version)
    file.close()

更新检查数字

代码语言:javascript
运行
复制
import urllib.request
#import soupsieve
from bs4 import BeautifulSoup
import requests

url = 'https://www.ksmnet.org/'
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
html = response.read()
soup = BeautifulSoup(html.decode("utf-8"), "html.parser")
path = '/srv/docker/homeassistant/prayer/'


table = soup.find('div', id={'prayer': 'listing sortable'})
package = '' ; version = ''
for i in table.select('tr'):
    data = i.select('td')
    if data:
        package = data[0].text.strip()
        file = open(package[:-1] +".txt", "w+")
        version =data[1].text.strip().replace('.',':')

        #Check hours
        checkHours = version.split(':')[0]
        if len(checkHours) < 2:
            version ="0" + str(checkHours) +':' + version.split(':')[-1]
           # print(version)
        #Check minutes
        checkMinute = version.split(':')[-1]
        if len(checkMinute) < 2:
            version = version.split(':')[0] + ":" + "0" + str(checkMinute)
            print(version)

        file.write(version)
        file.close()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59617845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档