【问题标题】:Neither Selenium or Beautiful soup showing full html source?Selenium 或 Beautiful soup 都没有显示完整的 html 源代码?
【发布时间】: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


【解决方案1】:

假设您指的是美国总计,请求模块似乎正在返回页面上第一个表中的数字。

import requests
r = requests.get('https://coronavirusbellcurve.com/').content
print(r)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 2023-03-09
    • 1970-01-01
    • 2019-07-21
    • 2020-08-27
    相关资源
    最近更新 更多