【发布时间】:2020-05-08 19:38:10
【问题描述】:
我尝试使用漂亮的汤来解析网站,但是当我打印“page_soup”时,我只会得到一部分 HTML,代码的开头部分,其中包含我需要的信息,被省略了。没有人回答我的问题。在做了一些研究之后,我尝试使用 Selenium 访问完整的 HTML,但是我得到了相同的结果。以下是我对硒和美丽汤的尝试。当我尝试打印 html 时,它从源代码中间开始,跳过 doctype、lang 等初始语句。
from selenium import webdriver
from bs4 import BeautifulSoup
browser = webdriver.Chrome( executable_path= "/usr/local/bin/chromedriver")
browser.get('https://coronavirusbellcurve.com/')
html = browser.page_source
soup = BeautifulSoup(html)
print(soup)
import bs4
import urllib
from urllib.request import urlopen as uReq
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup as soup
htmlPage = urlopen(pageRequest).read()
page_soup = soup(htmlPage, 'html.parser')
print(page_soup)
【问题讨论】:
-
您需要什么信息?
-
我正在尝试访问页面顶部有关美国 Covid 统计数据的数字。但是,似乎 Selenium 和 BS 都只是在相关语句之后才解析源代码。
-
BeautifulSoup 不做请求,urllib 做
-
我的问题更多是关于我希望能够使用 BS 或 Selenium 访问完整的 html 源代码,当我尝试打印应该是完整源代码时,我只是得到它的一部分,我想知道如何解决这个问题。我的理解是我编写的代码应该打印出完整的源代码? @ggorlen
-
啊 print[:1000] 向我展示了预期的输出。所以这是因为我的控制台一次只能处理这么多,明白了。在这里我快疯了,因为我认为我的包/模块没有正确读取。谢谢! @ggorlen
标签: python html selenium web-scraping beautifulsoup