Python爬虫之初识简介以及舆情系统简介【爬虫篇一】

版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/Burgess_zheng/article/details/87888904

目录


爬虫简介

爬虫技术的形成(搜索公司的出现)

第一阶段:大黄页(自己建立一个文档,记录域名 和该域名作用)
第二阶段:搜索公司出现,收录所有网站的关键字信息 ,别人一搜索关键字,我就把网站跳出来,该阶段依靠网站提供给搜索公司
第三阶段:由于网站数量和关键字太多,爬虫的兴起
    爬虫第一阶段:弄个机器人对所有的域名和对应的关键字,保存起来
    爬虫第二阶段:爬一个网站里面所有的a标签,不出意外肯定有一个超链接链接的别人的网站(一般友情链接),别人的网站同样也有超链接,所以大家的网站都是有关联的,这里形成了所谓的蜘蛛网(关系网),这样只要你在该蜘蛛网某条线上,早往可以获取到所有在网站关键信息(开个自动化的程序,任意在网络畅游获取你想要的信息)                                                  
    爬虫第三阶段:搜索公司进入点击广告模式,付费优先让你网站被搜索到

爬虫基本操作


    爬虫
          - 定向: 指定你所需要的资源,如你要搜索爱情类的电影
          - 非定向:蜘蛛网全世界遨游(上面都爬取)

爬虫的作用:

爬虫公共信息,为自己所用

一个刚创业做汽车资讯的,由于没有编辑,所以希望去各知名大网站爬取相应的文章资讯信息放在自己的app,这样app内容就丰富了,然后别人一点击就跳转别人的资讯内容url。这就是一个资讯的集合(资讯汇总)

比如你自己弄个公众号,需要推一些文章,文章你能自己写吗?每天都写?或者每天去网络找文章发到公众号?

又如租房app,我只想要做个人房源(抛掉中介的房源),你需要个各大租房网站爬取个人房源信息做个筛选吧个人信息拿过来(当然这个比喻,租房app没那么简单)

舆情系统:

取监听各大门户网站(新浪,天涯,搜狐,腾讯,猫扑,网易等等)的热词、热门词条、热门新闻。
然后这些拿到我们自己的网站进行展示.(屏幕)
然后由一个管理员进行观看,对于这些热门的词汇,新闻等等是否对自己的企业有影响,如果有就进一步去处理
比如,新浪新闻:在其搜索里面搜索自己企业的名字

自己定义一些关键字:企业老总的名字,企业名字,企业自己的产品,企业业务,等等一些关于自身企业重要的信息根据新浪的搜索url进行授信
    1然后下载搜索出来的页面
    2.进行正则匹配筛选出新闻的条目标签(根据div包裹div包裹h2标签这样匹配),(Python有模块已经有人帮你下好正则了)
    3.获取的信息拿到自己的网站展示,然后管理员看到相关信息,如果对企业自身或者该行业有重要新闻影响,就进一步处理

简单示例:

__author__ = "Burgess Zheng"
#!/usr/bin/env python 
#-*- coding:utf-8 -*-

import requests  #访问模块
from bs4 import BeautifulSoup  #爬虫模块
response = requests.get(
    url='http://search.sina.com.cn/?q=%CD%F8%BA%EC%B0%CB%D8%D4&range=all&c=news&sort=time'
)
#response.txt:获取该url的html文本(下载下来的是字节,会出现乱码,因为不知道该网站使用什么字符集)
response.encoding = response.apparent_encoding  #字符集转换成utf8(就不会出现乱码)

soup = BeautifulSoup(response.text,features='html.parser')
    #html文本转换成对象
    #features='html.parser' 一种模式,把html文本的标签转换成对象的模式
    #生存环境使用另外一个模式features='lxml'需要额外安装才可以使用(性能更好)

target = soup.find(attrs={'class':'result'})
   #进行匹配soup(html对象)里面的id='xx'的标签对象 (记住每个标签都是一个对象,对象里面可以包括对象)
new_list = target.find_all(attrs={'class':'box-result clearfix'})
# print(new_list)

for item in new_list:
    title_a = item.find('h2').find('a')
    title_url = title_a.attrs.get('href')
    title_name = title_a.text
    print('%s:%s' %(title_url,title_name))


执行结果:

猜你喜欢

转载自blog.csdn.net/Burgess_zheng/article/details/87888904
今日推荐