Python抓取网页导致javascript问题

时间:2018-05-03 00:01:48

标签: javascript python web-scraping urllib2

我正在使用urllib2来抓取网页。它适用于很多网站,但在某些网站上,我得到了:

<html><title>You are being redirected...</title>
<noscript>Javascript is required. Please enable javascript before you are allowed to see this page.</noscript>

这是我的代码:

    hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
           'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
           'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
           'Accept-Encoding': 'none',
           'Accept-Language': 'en-US,en;q=0.8',
           'Connection': 'keep-alive'}

    req = urllib2.Request(url=link, headers=hdr)
    try:
        f = urllib2.urlopen(req)
    except urllib2.HTTPError, e:
        return None
    except urllib2.URLError, e:
        return None
    mycontent = f.read()

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这不是javascript问题,请注意第一行:

urllib2.urlopen

这意味着您必须遵循重定向,直到到达目标服务器。

.geturl()不会自动执行此操作,您需要在结果上调用let result = ntc.name('#6195ed'); let rgb_value = result[0]; // #6495ed : RGB value of closest match let specific_name = result[1]; // Cornflower Blue : Color name of closest match let is_exact_match = result[2]; // false : True if exact color match ,或使用其他功能或库来解决重定向。