网络爬虫原理
Scrapy框架结构
爬虫步骤:需求分析->创建项目->分析页面->实现爬虫->运行爬虫
安装Scrapy
常见安装错误
解决方:1:先安装Twisted,再安装Scrapy。 Twisted的下载地址为http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
解决方法2:通过conda安装 >conda install -c scrapinghub scrapy
Scrapy项目创建和执行过程
1,打开cmd
2,在myScrapy文件夹中创建项目qidian_hot
3,scrapy startproject qidian_hot myScrapy
4,用PyCharm打开qidian_hot项目
5,在spiders包中创建文件qidian_hot_spiders.py
6,在qidian_hot_spiders.py文件中编写代码
#coding:utf-8
from scrapy import Request
from scrapy.spiders import Spider
class HotSalesSpider(Spider):
name = "hot" #爬虫名称
start_urls=["https://www.qidian.com/rank/hotsales?style= 1&page=1"]
def parse(self, response):#数据解析 爬到的网页自动发给这个函数分析 #获取class=’book-mid-info’的div中的内容
list_selector=response.xpath("//div[@class='book-mid-info']")
for one_selector in list_selector:
#获取小说信息:获取h4标签下a标签中的text文本内容
name=one_selector.xpath("h4/a/text()").extract()[0]
#获取作者 p[1]第一个p标签,extract提取内容
author=one_selector.xpath("p[1]/a[1]/text()").extract()[0]
#获取类型
type=one_selector.xpath("p[1]/a[2]/text()").extract()[0]
#获取形式
form=one_selector.xpath("p[1]/span/text()").extract()[0]
#定义字典
hot_dict={
"name":name,
"author":author,
"type":type,
"form":form,
}
yield hot_dict
7,在cmd中执行项目
scrapy crawl hot -o hot.csv
hot是qidian_hot_spiders.py文件代码中的name=”hot” 的爬虫名称
-o hot.csv等价于output=hot.csv 将爬虫结果保存到hot.csv文件中
8,执行结果