抓取网页新闻(关于大数据时代的数据挖掘(1)为什么要进行数据挖掘 )

优采云 发布时间: 2021-11-26 18:22

  抓取网页新闻(关于大数据时代的数据挖掘(1)为什么要进行数据挖掘

)

  关于大数据时代的数据挖掘

  (1)为什么要进行数据挖掘:有价值的数据不是存储在本地,而是分布在广阔的网络世界中。我们需要挖掘网络世界中有价值的数据供我们自己使用

  (2)非结构化数据:网络中的大部分数据都是非结构化数据,比如网页中的数据,没有固定的格式

  (3)Unstructured Data Mining--ETL:三步:抽取、转换、加载。经过这三步,就可以访问数据了

  关于网络爬虫

  (1)可以从主要的网站中抓取大量数据,并进行结构化,最后存储到本地数据库中,供我们自己索引

  (2)网络爬虫框架:

  

  比如你电脑上的浏览器就是web连接器,一个网站的网页就是web服务器。在浏览器中输入网站的URL就是向web服务器发送请求。适配器在浏览器中显示页面作为响应。网络爬虫通过网络适配器给出的响应,找到相关数据进行爬取,对数据进行分析得到结构化数据,最终存储在数据中心以备使用

  网络爬虫实战(新闻爬虫)

  项目描述:通过python网络爬虫抓取新浪网国内新闻栏目的所有新闻信息,包括标题、新闻来源、时间、文章内容、编辑和评论数,最后做成表格表格存储在excel表格中

  项目工具:python、谷歌浏览器

  所需模块:请求、重新、BeautifulSoup4、datetime、json

  具体步骤:

  (1)观察网页:打开新浪国内新闻页面。在页面空白处右击,点击底部“检查”选项。当前开发者工具查看界面网页出现,“网络”一栏可以作为我们的“*敏*感*词*器”,我们可以查看当前页面中web服务器返回的响应内容,响应内容分为很多类,比如JS就是制作的内容通过Javascripts,css是网页装饰器,doc是网页文件的内容。等等,我们这里要抓取的新闻信息一般都放在doc里面,在doc类型中找到名为china的文件就是我们国内的新闻正在寻找,其内容可以在“响应”响应中找到。

  (2)获取网页整体资源--request:request模块是一个用于获取网络资源的模块,可以使用REST操作,即post、put、get、delete等操作来访问网络资源.阅读一网页的web资源的简单代码如下:

  *敏*感*词*请求

  新闻网址 ='#39;

  res = requests.get(newsurl)

  res.encoding ='utf-8'

  打印(res.text)

  其中res.encoding='utf-8'是将编码格式转换成中文格式,res.text是显示获取到的资源的内容

  (3)获取详细资源-BeautifulSoup4:BeautifulSoup4模块可以根据Document Object Model Tree对获取的网络资源进行分层,然后使用select方法获取每一层的详细资源。Document Object Model Tree图形如下面所述 :

  

  使用 BeautifulSoup4 提取网络资源,以便从中提取细节:

  *敏*感*词*请求

  从 bs4 导入 BeautifulSoup

  新闻网址 ='#39;

  res = requests.get(newsurl)

  res.encoding ='utf-8'

  汤 = BeautifulSoup(res.text)

  打印(汤.文本)

  下面是res.text和soup.text的区别说明。前者中,res是网页的响应内容,text是用来检索网页响应的内容。在后者中,汤是 BeautifulSoup 对象。这里的文字是去除响应内容中的标签。喜欢

  (4)BeautifulSoup的select方法:可以针对不同的tag取出tag的内容

  1.找到收录h1标签的元素:

  汤 = BeautifulSoup(html_sample)

  标题 = 汤.select('h1')

  打印(标题)

  2.找到收录 a 标签的元素:

  汤 = BeautifulSoup(html_sample)

  alink = 汤.select('a')

  打印(链接)

  3.找到id为title的元素:

  汤 = BeautifulSoup(html_sample)

  标题 = 汤.select('#title')

  打印(标题)

  4.找到类为链接的元素:

  汤 = BeautifulSoup(html_sample)

  链接 = 汤.select('.link')

  打印(链接)

  5.获取元素中的属性--获取超链接中herf属性的内容

  汤 = BeautifulSoup(html_sample)

  alink = 汤.select('a')

  对于 alink 中的链接:

  打印(链接['herf'])

  BeautifulSoup的select方法获取的内容是列表的形式。如果要操作内容,必须取出列表元素。如果要获取类为 link 的元素的文本内容,可以使用 print(link[0].text )

  (5) 做一个简单的爬虫

  首先,进入新浪新闻的国内新闻页面,进入该页面的开发者界面,随意查看一条新闻的元素,可以发现这些新闻都位于一类news-item

  里面,所以选择这个类,遍历内容,得到所有的新闻内容

  然后,查看每条新闻的具体内容,其中title在h2标签中,时间用class='time'标注,URL在第一个a标签中

  最后,通过这些标签过滤所有特定内容。代码显示如下:

  *敏*感*词*请求

  从 bs4 导入 BeautifulSoup

  网址 ='#39;

  res = requests.get(url)

  res.encoding ='utf-8'

  汤 = BeautifulSoup(res.text)

  # 打印(汤)

  对于soup.select('.news-item') 中的新内容:

  如果 len(new.select('h2'))> 0:

  h2 = new.select('h2')[0].text

  time = new.select('.time')[0].text

  a = new.select('a')[0]['href']

  打印(h2,时间,一)

  得到的结果如下:

  一图读懂:多方*敏*感*词*“天价片酬” 演员最高拿多少? 8月15日 09:12 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3527505.shtml

上海商店招牌脱落致3死 两人被采取刑事强制措施 8月15日 08:56 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3419248.shtml

上海商店招牌脱落致3死 两人被采取刑事强制措施 8月15日 08:56 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3419248.shtml

上海商店招牌脱落致3死 两人被采取刑事强制措施 8月15日 08:56 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3419248.shtml

中国核潜艇极限长航背后:艇员出航前写遗书拍遗像 8月15日 08:56 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3450991.shtml

天津村庄遭龙卷风侵袭 砖房被吹塌大树拦腰折断 8月15日 08:54 http://slide.news.sina.com.cn/c/slide_1_86058_311891.html

珍贵视频:沈阳审判日本战犯全认罪 跪地痛哭谢罪 8月15日 08:40 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3366825.shtml

珍贵视频:沈阳审判日本战犯全认罪 跪地痛哭谢罪 8月15日 08:40 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3366825.shtml

众筹6万治疗费被平台索5%“税款”慈善应该缴费吗 8月15日 08:23 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3227219.shtml

众筹6万治疗费被平台索5%“税款”慈善应该缴费吗 8月15日 08:23 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3227219.shtml

今天是日本战败投降纪念日:当年日本曾想靠它翻盘 8月15日 08:21 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3417423.shtml

港媒:若美台不理“不得”警告 大陆将以行动说话 8月15日 08:19 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3399386.shtml

*敏*感*词*博览会期间上海将对网约车实行临时价格干预 8月15日 08:15 http://news.sina.com.cn/c/2018-08-15/doc-ihhtfwqr3178883.shtml

台“皮带大王”厦门公司倒闭拍卖 员工拿千万欠薪 8月15日 08:11 http://news.sina.com.cn/o/2018-08-15/doc-ihhtfwqr3193973.shtml

张广宁任广东肇庆市委副书记(图/简历) 8月15日 07:59 http://news.sina.com.cn/o/2018-08-15/doc-ihhtfwqr3193541.shtml

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线