jupyter编写网络爬虫(二)

本文详细介绍了如何使用jupyter进行网络爬虫,包括如何抓取新闻正文、处理javascript动态加载的评论数以及如何获取网页ID。在抓取新闻正文时,通过解析HTML获取段落内容;对于javascript加载的评论数,需找到相关JS文件并解析JSON数据;获取网页ID可通过split()和strip()函数或正则表达式实现。
摘要由CSDN通过智能技术生成

一、对新闻正文内容的抓取

在对新闻网页的新闻文本进行提取时,通常文本会分为多个段落,也就是会有多个<p>标签,例如对于下面的一个网页,新闻正文存放在id为artibody的div标签内,每一段分成一个p标签内。
这里写图片描述
要获取正文的全部内容的代码如下:

import requests
from bs4 import BeautifulSoup
res =requests.get('http://news.sina.com.cn/gov/2017-11-02/doc-ifynmzrs6000226.shtml')
res.encoding='utf-8'

soup=BeautifulSoup(res.text, 'html.parser') 
title=soup.select('#artibody')[0].text 

print(title)

得到的结果是这样的:
这里写图片描述
几乎是和原网页显示的一样了,段落分明且不带标签。

还有下面这种方法:
通过先定义一个空的对象article,再把每一个段落的内容逐个加进去进行连接。第三句的append方法将P逐个添加进article里面;添加strip()方法可以去掉段落前后的空格。最后一句的join方法将每个段落之间用你所指定的字符进行连接,”.join”可以是空格’ ‘,换行’\n’等,但jupyter中换行显示不出来。其实不用join也是可以的。

article=[]
for p in soup.select('#artibody p'):#若不想要最后一段可以在最后加上[:-1]
    article.append(p.text.strip()) 

&#
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值