【问题标题】:HTML DOM basic scrapingHTML DOM 基本抓取
【发布时间】:2017-02-07 01:15:37
【问题描述】:

我试图从检查元素时出现的 HTML DOM 中获取特定元素,但由于某种原因,这是在查看没有执行 javascript 的纯 HTML 代码。有任何想法吗?我与其他人唯一不同的是,避免 403 错误的那一行。

import urllib2
from bs4 import BeautifulSoup as BS

#avoid 403 error
request = urllib2.Request(url, headers={'User-Agent' : "Mozilla/5.0"})

html = urllib2.urlopen(request).read()

soup = BS(html, 'html.parser')

print soup.find('div', {'class' : 'video'})

【问题讨论】:

  • 发布网址或html代码

标签: javascript python html web-scraping beautifulsoup


【解决方案1】:

这是研究没有执行 javascript 的纯 HTML 代码

beautifulsoap 没有解析 javascript,你得到的是原始网页并且没有执行任何脚本。

我做的和其他人唯一不同的就是那一行来避免 403 错误

Urllib2 的默认用户代理字符串是"Python-urllib/_python_version_",可能您要抓取的网站正在过滤该用户代理;通过添加 Firefox 的,服务​​器将返回网页,就像您从浏览器访问它一样。

【讨论】:

  • 所以有什么想法吗?我尝试更改标题,但得到了相同的响应。
  • Beautiful Soup 无法执行 javascript,它不包含 javascript 引擎。如果你想在 js 评估后得到渲染的页面,我宁愿推荐你使用 PhantomJS。
猜你喜欢
  • 2015-07-25
  • 1970-01-01
  • 2013-07-30
  • 2013-12-26
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多