URL列表的多个抓取平面文件

2024-05-14 06:13:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我制作了一个脚本,用来在一些商店的页面上寻找缺货的商品。看起来是这样的:

import requests
from bs4 import BeautifulSoup
urls = ['https://www.someurla','https://www.someurlb']
for url in urls:
    res = requests.get(url)
    soup = BeautifulSoup(res.content,'html.parser')
    if len(soup.find_all('li',class_='out-of-stock')) > 0:
        print(soup.title)

现在,我想以某种方式使这个列表或URL可以在不干预这个小脚本的情况下进行更新。所以,我考虑一些分离的文件,它可以作为一个平面数据库。我认为它比一些关系数据库更合适,因为我真的不需要它

我想从更有经验的Python用户那里得到一些意见,这是一种合适的方法,如果它是使用文本或.py文件实现这一点的最佳方法,那么它是什么呢。哪些库适合此任务?另一方面,是否有更好的方法


Tags: 文件方法httpsimport脚本urlwwwres
1条回答
网友
1楼 · 发布于 2024-05-14 06:13:34

使用一个简单的JSON文件。大概是这样的:

import os
import json

url_file = '<path>/urls.json'
urls = []

if os.path.isfile(url_file):
    with open(url_file, 'rb') as f:
        urls = json.load(f)['urls']
else:
    print('No URLs found to load')

print(urls)

# hook in your script here...

此特定示例的JSON结构:

{
    "urls": [
        "http://example.com",
        "http://google.com"
    ]
}

相关问题 更多 >