【问题标题】:Passing an argument into an unknown URL in Python将参数传递到 Python 中的未知 URL
【发布时间】:2016-02-02 14:08:25
【问题描述】:
make = raw_input("Enter car make: ")
model = raw_input("Enter car model: ")

htmlText = urllib.urlopen("http://www.carsearch.com/+ make + "/" + model).read()(easy)

是否可以将这些变量传递给未知的 URL。

例如。

url = ("Enter URL: )
htmlText = urllib.urlopen(url + make + model).read() (Obviously wouldn't work)

谢谢。

【问题讨论】:

    标签: python oop web web-crawler screen-scraping


    【解决方案1】:

    当然可以。只需创建一个字符串(在下面的代码 sn-p 中称为 fullurl)并将其传递给 urllib.urlopen()

    make = raw_input("Enter car make: ")
    model = raw_input("Enter car model: ")
    url = raw_input("Enter URL: ")
    
    fullurl = "%s/%s/%s"%(url,make,model,)
    htmlText = urllib.urlopen(fullurl).read()
    

    如果您需要将变量作为参数传递,您可以使用urllib.urlencode()docs.python.org 列出了一个示例。

    【讨论】:

    • 是的,但我想将这些变量传递给结构不同的 URL,这些 URL 以不同的方式获取数据。例如。 carzone.ie/used-cars/make/model, www.cars.com/make-make/model-model/used_cars,我该怎么做?上面的示例仅适用于某些 URL,但并非全部。
    • 意识到这一点是没有问题的。我们要做的唯一工作是定义不同类型的 url(以及我们必须放置 makemodels 在 url 中的位置),我们还需要让 python 程序知道我们使用的一种 url 类型'想生成。例如。可以通过urltype = raw_input("Enter URL type (1=type1, 2=type2): ") 做到这一点。您能否编辑您的问题并添加不同的 urltypes(带有示例)?
    • 我明白你的意思,但是如果我不知道 URL 并且它是动态添加的,但我仍然希望将这些参数传递给新添加的用户给定 URL。
    • 然后你需要解析 URL 以获得粘贴品​​牌和模型的位置。我认为您需要提供完整的示例 URL,例如 http://www.carsearch.com/BMW/F10http://www.carsearch1.com/search?make=BMW&model=F10 等。如果您的网址中有一些关键字,例如makemodel,或者您有一个指向某些特定汽车的网址,例如BMWF10,那么解析网址就不会那么困难。你能提供这样的 URL 到最终代码吗?
    • 我所做的是尝试向 google 发出搜索请求并解析顶部结果,但是使用 urllib 不起作用,所以我决定使用 mechanize 并且它起作用了。代码如下。
    【解决方案2】:

    决定使用谷歌搜索来汇总我的查询。 解决方案: Get links method

    get values and regex

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多