win下环境搭建:
1,在cmd命令窗口下安装lxml
下载命令:python -m pip install lxml
2,安装Twisted
下载命令:python -m pip install Twisted
3,安装Scrapy
easy_install scrapy
安装后在cmd命令行输入scrapy可以查看
4,安装 win32
pip install pypiwin32
liunx下环境搭建:
1,切换到root用户下
安装gcc
yum install -y gcc
2,切换到Hadoop下
安装scrapy
pip install scrapy
创建scrapy项目
pycharm控制台下输入以下命令:
>scrapy startproject python05_crawl
创建成功
scrapy.cfg #部署配置文件
settings.py #项目设置文件
pipelines.py #项目管道文件
middlewares.py #中间件文件
items.py #项目定义文件
spiders 包 #这里放的是蜘蛛(spider)
案例:
import scrapy class NBASpider(scrapy.Spider): name = "txnba" # def start_requests(self): start_urls=[ 'http://www.dj97.com/myxc/ ' ] # yield scrapy.Request(url=start_url[0], callback=self.parse) count=0 def parse(self, response): qiuyuans = response.css("td a[target='play']::text") print("len----", len(qiuyuans)) for qiuyuan in qiuyuans: print("歌名", qiuyuan.extract()) next_page = response.css("li a[title='下一页']::attr(href)").extract_first() if next_page is not None: self.count += 1 if self.count < 20: next_page = response.urljoin(next_page) yield scrapy.Request(next_page, callback=self.parse)
控制台执行:scrapy crawl txnba
Anadocda3 安装和创建爬虫项目:
1,下载 Anaconda3-5.2.0-Windows-x86_64.exe
2,安装完开始菜单打开 anaconda prompt,
3, pip -V 查看版本,要求10.以上的版本
如果不是:执行
创建 scrapy 工程项目
1,切换到项目目录我 的是在D:\Anadocda3\idea_workspace 下
2,执行 scrapy startproject python05_crawl(python05。。是项目名称)
3,进入到 python05_crawl 目录下
执行 scrapy genspider 蜘蛛的名称 爬取网页
4,打开pycharm >>open>>项目地址目录
css选择器:
#name id选择器
.class 类选择器
a>b 父类选择器 (就是选择a下的b)
a b 后代选择器 (选择a下的所有后代)
a+b 邻近选择器(邻近a的第一个兄弟)
a~b 兄弟选择器 (选择a 同辈的)
a [b=c] 属性选择器 (a 的标签中有个属性b值为c )
a.b 筛选选择器 (找a中有b类样式的元素)
a,b 组合选择器 (选择a或者b)
xpath
//div 这样的路径是找到 网页中所有的任意位置的div
/html 根元素下的html
./ div 当前路径下的div
/html/body 找到根元素下的所有body节点
/html/body[1] 找到根元素下的第一个body节点