python爬虫
装两个文件:
.
解压第一个文件,建议是磁盘之下,然后配置环境变量,开发安装工具都需要配,变量名:CMAKE_HOME
变量值: D:\cmake-3.11.1-win64-x64
找到path(上面的):没有就新建
编辑:加英文分号:%CMAKE_HOME%\bin
命令窗口:输cmake,看是否成功cmake.exe 也可以,扩展名可以省略
在安装Ana...:
启动Anaconda prompt:必须是10版本以上
pip -V查看版本 10版本以上,如果是9,执行pip install --upgrade pip 升级,如果不行,执行easy_install pip 在执行:pip install scrapy
安装scrapy:pip install scrapy
开始体验:
1.创建scrapy工程
创建一个目录
在目录路径下:执行scrapy startproject 工程名称(python5)
cd工程名称:
dir查看文件
执行scripy genspider 蜘蛛名(ktou) kgc.cn 爬虫就是蜘蛛
2.用pycharm打开工程文件ktou.py
css选择器:
#name --id选择器
.class --类选择器
div --标签
a>b --父子选择器
a b --后代选择器
a+b --紧邻的一个兄弟选择器
a~b --兄弟选择器 a同辈的选择器
a[b=c] --属性选择器
a.b --筛选选择器 a中存在b样式
a,b --组合选择器
xpath选择器:
//div --找到网页中任意位置的所有div
/html --找到根目录html
./div --当前位置div
/html/body --html下的所有body
/html/body[1] --html下的第一个body
两种运行方式:
1.命令行运行:scrapy crawl ktou
如果出现:No module named 'win32api' --命令窗口pip install pypiwin32
2.在pycharm中编写脚本直接运行代码:比较方便
例子:爬虫是大数据获取手段之一。
求英雄联盟总共赚多少钱:
先爬虫,将人数和单价爬出来,在保存数据库中,在通过ma'p'reduce,rdd统计最高的,总共的,数据结果。
.
爬取代码:# -*- coding: utf-8 -*- import scrapy import re class KtouSpider(scrapy.Spider): name = 'ktou' allowed_domains = ['kgc.cn'] start_urls = ['http://kgc.cn/'] def parse(self, response): #通过css选择器和xpath选择器解析内容 headline=response.css('h2.headline-title::text').extract_first()#返回数组,抽取数组中的一个 print(headline) news=response.css('h2.headline-title+ul>li a::text').extract() news_href=response.css('h2.headline-title+ul>li a::attr(href)').extract()#属性选择器 #组合在一起打印 datas=zip(news[:-1],news_href[:-1]) for new in datas:#是元组 print(new) yield response.follow(new[1],self.detail)#跟随地址继续爬 def detail(self,response): print('开始解析') txt=response.css('div.card-con.f14.fix.kgc-ofx-a').extract_first() p='<[^>]+>'#去标签,以尖括号开头,不能以尖括号结尾的任意字符,最后以尖括号结尾 <高兴>这里的 #尖括号是$lt;小于大于 txt=re.subn(p,'',txt)#替换 print(txt[0])
.