【问题标题】:Python urlopen does not work for every websitePython urlopen 不适用于每个网站
【发布时间】:2020-08-17 01:58:52
【问题描述】:

嗨,我有一个工作代码,可以完美地打开我告诉他的大多数网站(使用来自 urllib.request 的 urlopen)。 但由于某种原因,这似乎不适用于某些特定网站。我什至没有收到错误,我的代码只是永远运行而没有任何进展。我尝试打开的网站都是https网站,包括那些不起作用的网站。但是我可以手动打开网站,它工作得很好,所以它不像网站关闭或任何东西。任何人都知道为什么会这样吗? 从 urllib.request 导入 urlopen 作为 uReq

url = r'https://www.mouser.de/'
url_text = uReq(url)
html_text = url_text.read()

【问题讨论】:

  • 您是否尝试过将用户代理字符串更改为模拟实际浏览器的字符串?输入法,一些网站过滤掉非浏览用户代理。
  • 能否贴出代码,并添加不同的网站?
  • 对不起,我添加了我的代码。这是我无法访问的网站。如何模拟和实际浏览器?

标签: python web https urllib urlopen


【解决方案1】:

您可能需要使用User-Agent,就像真正的浏览器使用的一样。 此代码取自here,是如何使用User-Agent 的示例。

import urllib.request
req = urllib.request.Request('http://www.example.com/')
req.add_header('Referer', 'http://www.python.org/')
# Customize the default User-Agent header value:
req.add_header('User-Agent', 'urllib-example/0.1 (Contact: . . .)')
r = urllib.request.urlopen(req)

【讨论】:

    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2018-09-15
    • 1970-01-01
    • 2022-06-21
    • 2015-08-28
    • 2021-03-31
    相关资源
    最近更新 更多