gpt4 book ai didi

python - 无法从网站中提取 HTML

转载 作者:搜寻专家 更新时间:2023-10-31 23:08:26 27 4
gpt4 key购买 nike

我从网站中提取 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.com .不知何故,Tmart 可以看出它不是网络浏览器,并返回错误。我该如何解决这个问题?

最佳答案

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

Selenium 通常用于网站的功能测试。但是对于使用 JavaScript 的抓取网站也非常有效。

from selenium import webdriver

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

html = browser.page_source

在此处查看浏览器上可用的所有方法:http://code.google.com/p/selenium/source/browse/trunk/py/selenium/webdriver/remote/webdriver.py为此,您还需要有可用的 chromedriver 可执行文件:http://code.google.com/p/chromedriver/downloads/list

关于python - 无法从网站中提取 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13539502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com