如何从html中获取内容

115 篇文章 0 订阅
52 篇文章 2 订阅

如何获取页面信息

有时需要爬取的网页,我们无法查看到其源码,页没办法看到其json,此时,是不是有点绝望?今天遇到一个爬虫网站,http://www.zjzfcg.gov.cn/innerUsed_noticeDetails/index.html?noticeId=3722029 页面有点类似于一个doc文档,一直想看页面源码和json,可是就是找不到啊。最后结果让我吃惊。所有的文档内容全部藏在一个带有标签的key中,只要认真查看json,就可以发现,可是我就是没有发现。最后问别人怎么发现的,直言,没什么诀窍,认真的分析获取到的json就知道了。看来认真细心真的很重要哇。

整体实现思维

  1. 先获取网页json数据
  2. 获取我们想要的字段值
  3. 使用go_remove_tag函数去除标签

具体代码实现

from w3lib.html import remove_tags
import re
def go_remove_tag(value):
# 移除标签
content = remove_tags(value)
# 移除空格 换行
return re.sub(r’[\t\r\n\s]’, ‘’, content)
url = ‘http://manager.zjzfcg.gov.cn/cms/api/cors/getRemoteResults?noticeId=3722029&url=http%3A%2F%2Fnotice.zcy.gov.cn%2Fnew%2FnoticeDetail
r = requests.get(url,headers=headers,verify=False)
a = r.text
jsonstring = json.loads(a)
new_url = jsonstring[‘noticeContent’]
print(go_remove_tag(new_url))

获取到HTML后该怎么办,自己开始一直百度了很久,因为我的想法就是把HTML页面直接变成一个doc文档保存在本地,可是我的想法一开始就错了,估计加班加傻了。后来猛然大悟,一切so easy.

要使用JavaScript获取HTML标签内容,可以使用以下方法: 1. 使用innerHTML属性:innerHTML属性返回指定元素内的HTML内容,包括标签和文本。例如,要获取id为"box"的div元素内容,可以使用以下代码: ```javascript var box = document.getElementById('box'); var content = box.innerHTML; console.log(content); ``` 这将输出div元素的所有内容,包括标签和文本。 2. 使用innerText属性:innerText属性返回指定元素内的纯文本内容,去除了所有HTML标签。例如,要获取id为"box"的div元素的纯文本内容,可以使用以下代码: ```javascript var box = document.getElementById('box'); var text = box.innerText; console.log(text); ``` 这将输出div元素的纯文本内容,不包括任何HTML标签。 3. 使用textContent属性:textContent属性返回指定元素内的文本内容,保留了文本的格式,但去除了所有HTML标签。例如,要获取id为"box"的div元素的文本内容,可以使用以下代码: ```javascript var box = document.getElementById('box'); var text = box.textContent; console.log(text); ``` 这将输出div元素的文本内容,保留了文本的格式,但不包括任何HTML标签。 请注意,以上方法都是通过JavaScript来获取HTML标签内容。具体使用哪种方法取决于你需要获取内容以及你对内容的处理要求。 #### 引用[.reference_title] - *1* *2* *3* [JavaScript离别之作——HTML元素操作](https://blog.csdn.net/qq_51547965/article/details/123672845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值