zoukankan      html  css  js  c++  java
  • 百度搜索引擎关键字URL采集爬虫优化行业定投方案高效获得行业流量-笔记篇

    需要结合:《百度搜索引擎关键字URL采集爬虫优化行业定投方案高效获得行业流量-代码篇》一起学习
     
    #百度搜索引擎关键字URL采集爬虫优化行业定投方案高效获得行业流量
     
    #知识点
    '''
    1 网络爬虫
    2 Python开发网络爬虫
    3 requests库
    4 文件操作
    '''
     
    #项目结构
    '''
    key.txt                 关键字文档,根据这个文档中的关键字进行爬取
    demo.py               爬虫文件内容了
    res/软件开发.txt    爬虫采集来的URL
    '''
     
    #在Pycharm中新建项目:C:...0501
    #该项目暂时没有多线程和多进程
    #在项目中新建脚本spider.py
     
    #版本信息
    '''
    1 环境              python3
    2 第三方模块  requests     安装方法 pip install requests
    3 IDE               PyCharm
    '''
     
    #数据在哪里?爬取哪里的数据呢?
    #打开浏览器,打开百度,在搜索框中输入“程序设计”  点击“百度一下”按钮,在百度返回的信息中,广告部分不要,其余部分的每个网站的网址
     
    #爬虫其实就是在模拟浏览器,向目标网站发一个http请求,这个http请求是如何发送的呢?
    #在浏览器按F12,可以帮助我们监控浏览器发送的请求,,90%以上的网站都是基于http请求的
    #在搜索框中输入“程序设计”,点击 “百度一下”按钮之后,在Network栏会出现很多数据,每一条数据都代表一个http请求
     
    #点击“百度一下”按钮之后,展示的页面超文本是什么样子的呢? 在空白的地方右键-->"查看网页源代码",就会发现网页其实就是一个html文本,经过浏览器处理,展示成用户看到的样子。前台看到的每一项信息都会是一个<a></a>标签,是一个超链接来的。
    #所以首先需要找到html文本中的<a>标签中的超链接信息,在Network中的每个http请求的Respont栏下都有很多信息,想要拿到这个数据,就要去Headers栏下去找Request URL信息(如:Request URL:https://ss3.baidu.com/6ONWsjip0QIZ8tyhnq/ps_default.gif?_t=1525188253376)。
     
     
     
    #过一遍原理
    #网络爬虫
    '''  简单定义一下什么是爬虫
    本质上就是一个程序,在获取text之前的这几行代码就是一个爬虫了
    这个程序可以模拟浏览器自动去互联网上下载我们需要的网络资源
    '''
     
    #网络资源
    '''
    在互联网上能够访问到的图片、视频、网页、文件等
    每一个网络资源,通过什么访问呢?
    比如网页要通过网址来访问 url
    '''
     
    #url
    '''
    全球统一资源定位符
    '''
     
    #浏览器的工作流程
    '''
    第一步:浏览器先要访问某个资源,首先要有URL,根据这个URL去访问网络资源,这个url执行其对应的服务器,根据URL,浏览器发送HTTP请求(常用的两种方式get/post)
     
    忽略服务器的处理环节了(毕竟不是web开发)
     
    第二步:服务器把结果返还给浏览器,返回就是HTTP响应,正常情况下,正常返回的数据,浏览器会从中解包数据进行渲染、展示(如果是图片就展示成图片)给用户
     
    不同的爬虫区别就在请求的部分了,根据爬的网站不同,get()需要带的参数就不同
    '''
    #爬虫的原理讲完了
    #难在分析过程
    #简单在就是发送一个http请求
     
    #开发爬虫的几个步骤
    '''
    1,找到目标数据
            找到目标数据所在的页面或目标数据所在的url
     
    2,找到数据的加载流程
            分析怎么发送http请求的
            
    3,发送http请求
            模拟浏览器,在“浏览器的工作流程”中有介绍
            
    4,提取数据
            数据清洗、处理
     
    5,数据持久化
            入库或写入文件
    '''
     
    #获取到response之后,就是数据处理环节了,从返回的页面html中提取有用的信息,做数据清洗--这个环节就要用到正则表达式的内容了
     
    分析出每一条返回的结果都会被class="result c-container"的div包裹,其中的 href = ""中的内容就是我们想要的URL,就要用正则表达式去从text中提取出这一部分内容,,这一部分尽量用正则表达式去写吧,BeautifulSoap等底层也是正则表达式,效率是没有直接用正则表达式高的。
     
    #需要复习一下正则表达式的内容
     
    #需要复习一下文件操作
     
    #需要复习一个html的知识
     
    #学习正则表达式的方法:
    '''
        不要贪心,,很多人学习正则很贪心,以为只要看一下就能把所有元字符都学会,如果这么去想就是给自己找不痛快。
        需要逐个学习元字符,,每学一个元字符,要多练,自己设计字符串去匹配。不停地去写,直到把这个元字符弄懂弄透了。
        什么叫弄懂弄透了?就是3天以后再回来看,还能把它写出来。
    '''
     
     
    #学习方法:
    #听课学习的是老师的思路,直到大概怎么做,课下再去研究。不会的时候再来看看视频,看看笔记。
     
     
    #写代码方法:死去活来法
    #先把程序写死,然后不停地优化,最后能让程序适应多种情况
     
     
    #如何学习第三方库
    #学习别人的代码,看文档知道怎么用就行了
     
     
    ----------------------------------------------爬虫部分学完了
     
     
  • 相关阅读:
    剑指Offer-46.孩子们的游戏(圆圈中最后剩下的数)(C++/Java)
    剑指Offer-45.扑克牌顺子(C++/Java)
    剑指Offer-44.翻转单词顺序列(C++/Java)
    剑指Offer-43.左旋转字符串(C++/Java)
    剑指Offer-42.和为S的两个数字(C++/Java)
    剑指Offer-41.和为S的连续正数序列(C++/Java)
    剑指Offer-40.数组中只出现一次的数字(C++/Java)
    剑指Offer-39.把数组排成最小的数(C++/Java)
    Codeforces Round #316 (Div. 2) D Tree Requests
    URAL 1774 Barber of the Army of Mages (最大流)
  • 原文地址:https://www.cnblogs.com/avention/p/8981563.html
Copyright © 2011-2022 走看看