GVKun编程网logo

BeautifulSoup - 从 HTML 中去除不间断的空格(html删除空格)

5

在这篇文章中,我们将带领您了解BeautifulSoup-从HTML中去除不间断的空格的全貌,包括html删除空格的相关情况。同时,我们还将为您介绍有关ASP.NETMVC中@Html.Partial

在这篇文章中,我们将带领您了解BeautifulSoup - 从 HTML 中去除不间断的空格的全貌,包括html删除空格的相关情况。同时,我们还将为您介绍有关ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、BeautifulSoup & Selenium 抓取网页,汤没有反映更新的 HTML的知识,以帮助您更好地理解这个主题。

本文目录一览:

BeautifulSoup - 从 HTML 中去除不间断的空格(html删除空格)

BeautifulSoup - 从 HTML 中去除不间断的空格(html删除空格)

如何解决BeautifulSoup - 从 HTML 中去除不间断的空格

我正在尝试抓取一些 10K 风险因素部分,例如https://www.sec.gov/Archives/edgar/data/1321502/000143774910004615/andain_10k-123106.htm

我的问题之一是我试图精确匹配几个字符串(例如“风险因素”),但有时单词之间有几个不间断的空格

我希望我可以去掉它们,因为它们对我没有用,所以我尝试了:

url = ''https://www.sec.gov/Archives/edgar/data/1321502/000143774910004615/andain_10k-123106.htm''
page = requests.get(url)
soup = BeautifulSoup(page.text.replace("\\xa0"," "),''html.parser'')

然后搜索汤(以通常的方式)以测试它是否有效:

soup.find_all(string="ITEM 1A.\\xa0\\xa0RISK FACTORS")

但输出仍然包含不间断的空格,它不应该:

Out[42]: [''ITEM 1A.\\xa0\\xa0RISK FACTORS'']

我做错了什么?

解决方法

试试这个:

import requests
from bs4 import BeautifulSoup

url = ''https://www.sec.gov/Archives/edgar/data/1321502/000143774910004615/andain_10k-123106.htm''
page = requests.get(url)
soup = BeautifulSoup(page.content,''html.parser'')
cleaned_up = [
    i.getText(strip=True).replace(u"\\xa0"," ")
    for i in soup.find_all("font") if i.getText().startswith("ITEM")
]
print(cleaned_up[1])

输出:

ITEM 1A.  RISK FACTORS

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1.Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容

2.Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3.对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。

4.Html.Partial与Html.Action有啥区别呢?区别就是,Html.Partial只有一个视图,而Html.Action除了视图,还真的有个Action跟它对应,所以,Html.Action功能比Html.Partial要强。

 

如何调用这个Html.Partial

 //1、以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)
@Html.Partial( "_test" //加载对应文件 /Views/Product/_test.cshtml
 
//2、依据应用根路径定位视图// 以 "/" 或 "~/" 开头的路径代表应用根路径
@Html.Partial( "~/Views/Product/_test.cshtml" )
@Html.Partial( "/Views/Product/_test2.cshtml" )
 
//3、加载其他目录的 视图文件
//注意:需要复制views中的web.config 到template目录,否则会提示  "/template/A.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial( "/template/A.cshtml" )

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

在ASP.NET MVC中,有什么区别:

Html.Partial and Html.RenderPartial
Html.Action and Html.RenderAction

解决方法

Html.Action调用控制器的动作,这意味着它实例化控制器实体,调用动作方法,构建模型并返回视图结果.

Html.Partial使用已创建的模型(或者可以在没有模型的情况下调用)来渲染指定的视图.

何时使用一个而不是另一个?如果您已有模型并且只想拥有可重复使用的视图,请选择Html.Partial.如果你看到某个部分值得拥有自己的模型和动作,那么使用Html.Action可能是有意义的.

这个问题在this article中有更详细的讨论,你在上面看到的基本上是它的摘录.

asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:

     @Html.Partial 对应 @{Html.RenderPartial(....);}@Html.Action 对应 @{Html.RenderAction(....);}

2、Html.Partial可以直接提供用户控件名作为参数,

    而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有         Model数据也是可以使用Html.Partial方法的,可以看方法的重载。

4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。比如:@Html.Action("UserInfoControl")在对应的    UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun  PartialView("UserInfoControl");

BeautifulSoup & Selenium 抓取网页,汤没有反映更新的 HTML

BeautifulSoup & Selenium 抓取网页,汤没有反映更新的 HTML

如何解决BeautifulSoup & Selenium 抓取网页,汤没有反映更新的 HTML

我正在尝试使用 selenium 在网页上显示所有结果(url 不会改变,它只是在单击按钮后显示更多结果)。一个它已经通过并确保显示所有结果(当更多按钮不存在时)我尝试将汤重新实例化为更新的HTML,但我仍然获得与开始时相同的HTML。有什么帮助吗?谢谢!

  1. import requests
  2. import json
  3. from bs4 import BeautifulSoup
  4. from selenium import webdriver
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.chrome.options import Options
  7. from selenium.common.exceptions import ElementClickInterceptedException,NoSuchElementException
  8. from selenium.webdriver.support.ui import webdriverwait
  9. from selenium.webdriver.support import expected_conditions as EC
  10. from selenium.webdriver import ActionChains
  11. from selenium.webdriver.common.keys import Keys
  12. from time import sleep
  13. #setup and make request using chromedriver
  14. chromeOptions = Options()
  15. chromeOptions.add_argument("--kiosk")
  16. driver = webdriver.Chrome(executable_path="C:\\Webdrivers\\chromedriver.exe",chrome_options=chromeOptions)
  17. driver.get("https://www.carmax.com/cars/chevrolet")
  18. #functions
  19. wait = webdriverwait(driver,timeout=10)
  20. actions = ActionChains(driver)
  21. #continue expanding search results until all are displayed
  22. for i in range(100):
  23. #scroll to bottom
  24. try:
  25. see_more_cars = driver.find_element_by_xpath(''//*[@id="see-more"]/div'')
  26. driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight",see_more_cars)
  27. #if button available to see more cars,click it
  28. wait.until(EC.visibility_of_element_located((By.XPATH,''//*[@id="see-more"]/div/a''))).click()
  29. sleep(10)
  30. soup = BeautifulSoup(driver.page_source,''lxml'')
  31. except ElementClickInterceptedException:
  32. #if button NOT available to see more cars,wait then click
  33. sleep(10)
  34. driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight",see_more_cars)
  35. wait.until(EC.visibility_of_element_located((By.XPATH,''//*[@id="see-more"]/div/a''))).click()
  36. except NoSuchElementException:
  37. #if button no longer available,break
  38. break
  39. soup = BeautifulSoup(driver.page_source,''lxml'')
  40. results = soup.find(''div'',class_=''car-container listing-container'')
  41. print(results.prettify().encode(''utf-8''))

当我想要更新的 HTML 时,代码只是打印原始 HTML。

关于BeautifulSoup - 从 HTML 中去除不间断的空格html删除空格的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、BeautifulSoup & Selenium 抓取网页,汤没有反映更新的 HTML等相关知识的信息别忘了在本站进行查找喔。

本文标签: