首页 > 解决方案 > 循环输入为 url 的函数

问题描述

所以我正在尝试进入 python,并使用我在网上找到的其他示例来更好地理解某些功能。

我在网上找到了一个帖子,分享了一种通过 CamelCamelCamel 查看商品价格的方法。

他们将其设置为来自特定 url 的请求,因此我决定将其更改为 userinput。

我怎样才能简单地循环这个函数?

它运行良好 afaik 一次,但在初始过程之后,我得到“进程完成,退出代码 0”,这不一定是问题。

让脚本按我的意愿执行。如果从“退出”之类的可能中断会很好,但是在它处理给定的 URL 之后,我希望它请求一个新的 URL。我确定有一种方法可以检查特定的 url,IE 这应该只适用于 Camelcamelcamel,因此仅限于该域。

我对批处理更熟悉,并且有点摆脱了使用批处理来运行我的 python 文件来规避我不理解的东西。

如果可以的话,就个人而言。. .

我只是将功能标记为“顶部:”

并将 goto top 放在脚本的底部。

from bs4 import BeautifulSoup
import requests

print("Enter CamelCamelCamel Link: ") 
plink    = input("") 

headers = {'User-Agent': 'Mozilla/5.0'} 
r = requests.get(plink,headers=headers) 

data = r.text 
soup = BeautifulSoup(data,'html.parser') 
table_data = soup.select('table.product_pane tbody tr td') 


hprice = table_data[1].string
hdate = table_data[2].string
lprice = table_data[7].string
ldate = table_data[8].string 

print ('High price-',hprice)
print ("[H-Date]", hdate)
print ('---------------')
print ('Low price-',lprice)
print ("[L-Date]", ldate)

另外,从今天/现在开始,我如何才能找到从 hdate 或 ldate 获得的日期的差异。我如何解析它们的日期是字符串,我得到了。类型错误:+= 不支持的操作数类型:“int”和“str”。

这实际上只是为了学习,任何示例都有效,它不一定是特定的站点。

标签: pythonbeautifulsouppython-datetime

解决方案


在 Python 中,您可以访问几种不同类型的循环控制结构,包括:

  1. while语句

    while (condition) # Will execute until condition is no longer True (or until break is called)
       <statements to execute while looping>
    
  2. 对于语句

    for i in range(10) # Will execute 10 times (or until break is called)
       <statements to execute while looping>
    

    每个都有其优点和缺点,Python.org 上的文档非常详尽但易于吸收。

https://docs.python.org/3/tutorial/controlflow.html


推荐阅读