Python 无法从网站中提取HTML

Python 无法从网站中提取HTML,python,html,web,urllib,Python,Html,Web,Urllib,我从网站中提取HTML,通过发送标题使网站认为我只是一个浏览网站的用户,如下所示: def page(goo): import fileinput import sys, heapq, array, urllib import BeautifulSoup from BeautifulSoup import BeautifulSoup import re from urllib import FancyURLopener class MyOp

我从网站中提取HTML,通过发送标题使网站认为我只是一个浏览网站的用户,如下所示:

def page(goo):
    import fileinput
    import sys, heapq, array, urllib
    import BeautifulSoup
    from BeautifulSoup import BeautifulSoup
    import re
    from urllib import FancyURLopener
    class MyOpener(FancyURLopener):
        version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'
    myopener = MyOpener()
    filehandle = myopener.open(goo)
    return filehandle.read()
page=page(WebSite)

大多数网站,甚至谷歌和维基百科,都能很好地做到这一点,但对其他网站则不然。不知何故,Tmart可以看到它不是web浏览器,并返回一个错误。我如何解决这个问题?

他们可能检测到您没有JavaScript解释器?如果看不到您收到的错误消息,很难判断。但有一种方法可以保证有效。这就是使用SeleniumWebDriver直接驱动浏览器

Selenium通常用于功能测试网站。但是,对于使用JavaScript的网站来说,这种方法非常有效

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://www.someurl.com')

html = browser.page_source
在此处查看浏览器上可用的所有方法:
要使其正常工作,您还需要提供chromedriver可执行文件:

如果您复制并粘贴错误或堆栈跟踪,这将很有帮助。提示:相关网站正在使用java脚本设置cookie并忽略没有正确cookie的请求。我运行了
“code”#!python27 def page(goo):从selenium导入webdriver browser=webdriver.Chrome()browser.get(goo)html=browser.page\u source返回html.read()页面(“tmrat.com”)和我得到
回溯(最近一次调用):文件“C:\Users\Server\Downloads\scaner.py”,第9行,在页面(“tmrat.com”)文件中“C:\Users\Server\Downloads\scaner.py”,selenium导入webdriver文件“C:\Users\Server\Downloads\selenium.py”页面第3行“,第806行隐藏详细信息^SyntaxError:无效的syntaxIt看起来您没有正确安装selenium。您是否
pip安装了selenium
?或者只是随机下载一部分代码?这是一个完整的包裹。删除文件
C:\Users\Server\Downloads\selenium.py
,并正确安装selenium。此外,browser.page_source是一个字符串。它不需要是
read()