2021-05-10

一、爬虫概念
‘’’
爬虫在使用场景中的分类
一通用爬虫:
抓取系统重要组成部分。抓取的是一整张页面数据。
一聚焦爬虫:
是建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容。
-增量式爬虫:
检测网站中数据更新的情况。只会抓取网站中最新更新出来的数据。
‘’’

‘’’
反爬机制
门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。
反爬机制
门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。
反反爬策略
爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网的相关信息
‘’’
‘’’
robots.txt协议:
君子协议。规定了网站中哪些数据可以被爬虫爬取哪些数据不可以被爬取。
http协议:
—概念:就是服务器和寄户端进行数据交互的一种形式。遵从了这个协议就能交互
常用请求头信息
-User-Agent:请求载体的身份标识
-Connection:请求完毕后,是断开连接还是保持连接
常用响应头信息

  • Content-Type:服务器响应回客户端的数据类型
    https协议:
    -安全的超文本传输协议
    加密方式
    一对称秘钥加密
    一非时称秘钥加密
    一证书秘钥加密

‘’’

二、爬取网页
from bs4 import BeautifulSoup #网页解析·获取数据
import re #正则表达式·进行文字匹配
import urllib.request, urllib.error #制定URL·获取网页数据
import xlwt #进excel操作
import sqlite3#进子-SQLite数据库操作

def main():
baseurl = “https://movie.douban.com/top250”
# 1.爬取网页
datalist=getData(baseurl)
savepath=".\豆瓣电影Top250.xls"

#3.保有数据
saveData(savepath)

#爬取网页
def getData(baseurl):
datalist=[]
# 2.逐一解析数据
return datalist

def saveData(savepath):
print()

三、requests模块

‘’’
requests模块
-urllib模块
-requests模块
requests模块: python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。
作用:模拟浏览器发请求。

如何使用:(requests模块的编码·流程)
指定url
发起请求
获取响应数据
持久化存储

环境安装

‘’’
实例:爬取搜狗网页

import requests
if __name__=="__main__":
    #step1:指定url
    url="https://www.sogou.com"
    #step2:发送请求
    #get方法会返回一个响应对象
    response=requests.get(url=url)
    #step3:获取响应数据,text返回的是字符串形式的响应数据
    page_text=response.text
    print(page_text,end="")
    #step4:持久化存储
    with open('./sogou.html','w',encoding='utf-8' ) as fp:
        fp.write(page_text)
    print('爬取数据结束!!!')

#import bs4#网页解析获取数据

在这里插入图片描述

爬取百度网页

from urllib.request import urlopen

url="http://www.baidu.com"

resp=urlopen(url)
#print(resp.read().decode("utf-8"))
with open("mybaidu.html",mode="w") as f:
    #读取网页的源代码
    f.write(resp.read().decode("utf-8"))
print("over"

)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值