【问题标题】:search in a web using python 3.5使用 python 3.5 在网络中搜索
【发布时间】:2017-03-24 08:56:29
【问题描述】:

我想编写一些可以在网页中输入文本的代码;即在网页http://www.dictionary.com/ 中查找一个单词。我找到的代码如下(我使用的是 Python 3.5):

import urllib.request
import urllib.parse

value= {'q', 'something'}
value= urllib.parse.urlencode(value)
value= value.encode('utf-8')
f= urllib.request.Request('http://www.dictionary.com/', value)
g= urllib.request.urlopen(f)
print(g.geturl())

但是,print(g.geturl()) 打印 http://www.dictionary.com/,与我一开始的链接相同。我希望它在搜索栏中搜索“某物”。

【问题讨论】:

    标签: python python-3.5


    【解决方案1】:

    geturl()只是返回页面的URL,需要使用read()函数。

    print(g.read())
    

    【讨论】:

    • 我仍然得到相同的网页。我希望对象 g 指向以下页面:“dictionary.com/browse/something?s=t”,相当于在字典中搜索“某物”。
    • 在您发布的链接中,您发布的原始代码中不存在 /browse/。也许这就是问题所在?
    • 我认为我的表达不正确。使用 python,我想在字典中搜索“某物”。所以我会从链接dictionary.com 开始,然后到达dictionary.com/browse/something?s=t%22
    【解决方案2】:

    例如,URL 结构是这样的

               baseUrl                 + searchTerm
    "http://www.dictionary.com/browse/ + "something"
    

    以下代码可以帮助您做到这一点

    import requests
    value = "something"
    res = requests.request(method="GET",url="http://www.dictionary.com/browse/" + value)
    print res.content
    

    【讨论】:

    • 有没有办法在浏览器中实际输入单词?
    • 如果你想输入单词..使用无头浏览器是最好的方法...查看 python selenium 库来做到这一点
    • 输入并发送请求后你想做什么??
    • 我想要一个对象,这样 object.geturl() = dictionary.com/browse/something?s=t.
    • 无法得到您..您是否正在尝试构建 url 来提供请求
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多