一、爬虫介绍:
-本质,
-就是想网站发送http请求,拿回一些页面/json格式数据(request)
-处理数据,解析出有用的东西(re,bs4)
-存储(mysql,文件,cvs,redis,MongoDB,es)
-分析
-cookie池和代理池
-爬视频
-正向代理和反向代理
(正向代理-代理自己,反向代理-代理服务器)
爬虫运用模块
-requests模块
-爬视频
-beautiflsoup
-requests+bs4爬新闻
-selenium
-购物网站
-request-html
-模拟登陆知乎(破解加密登陆)
-破解验证码
-mogodb
-高性能相关
-scrapy框架(爬虫界的django)
-分布式爬虫 scrapy-redis
1、requests模块
-基于get和post请求
import requests # get 请求 res = requests.get('https://www.baidu.com/s', # get请求携带参数 params={'wd': '美女'}, # 请求头的信息 headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'} ) res.encoding = 'utf-8' print(res.text) with open('a.html','w') as f: f.write(res.text)
import requests # post 请求 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36' } res = requests.post('http://www.aa7a.cn/user.php', headers=headers, data={ 'username': '616564099@qq.com', 'password': 'lqz123', 'captcha': 'pnz4', 'remember': 1, 'ref': 'http://www.aa7a.cn/', 'act': 'act_login' }) # 如果登陆成功,cookie会存在于res对象中 cookie = res.cookies.get_dict() res = requests.get('http://www.aa7a.cn/',headers=headers, cookies=cookie,) if '616564099@qq.com' in res.text: print("登录成功") else: print("没有登录")