【问题标题】:Unable to access the real page source code无法访问真实页面源代码
【发布时间】:2013-05-05 05:54:57
【问题描述】:

这不是关于 javascript 修改页面源的某些部分的标准问题之一,这些部分在您右键单击 > 查看页面源后变得隐藏。我的问题不一样。

实际上,当我右键单击>查看页面源代码时,我可以看到整个 html 代码,但是当我尝试通过 BeautifulSoup、xml.parser 或什至使用 mechanize 打开它时,此时页面变得有点不同,并且缺少重要内容。

我可以得到这个真正的 html 代码的唯一方法是手动复制/粘贴整个内容并保存为文件。当我使用 python 自动执行此操作时,内容也会发生变化。

该网站基本上是 html 格式,但也看到了一些 javascript、flash 和 ajax 代码。

你们有什么想法可以做什么吗?我知道如果没有真正看到源代码可能很难弄清楚,但我想我最好不要发布我正在抓取的页面网址。

【问题讨论】:

标签: python web-scraping


【解决方案1】:

这通常是由于不同的 Referrer 或 UserAgent 标头而导致页面向您发送了不同的响应。

尝试通过将标头设置为 Firefox 来设置用户代理

user_agent = "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
headers = { 'User-Agent' : user_agent }

【讨论】:

  • 实际上我在我的代码中使用了它,它在这里不起作用。
  • @nutship 设置推荐人怎么样?假设您使用的是 urllib2,您是否尝试过下载页面、将其保存到文件并尝试打开它?
  • 是的,我做到了。仍然隐藏了所需的代码部分。正如我所说,唯一可行的解​​决方案是我手动复制/粘贴它并保存在文件中。
  • 如果您在浏览器中禁用 JavaScript 会怎样?这是否也会妨碍正确的结果?如果是这样,您可能需要像 Selenium 这样实际驱动浏览器而不是 HTTP 请求的东西。
猜你喜欢
  • 2018-02-09
  • 2011-08-12
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多