1.首先安装以下package,
pip3 install wheel
pip3 install lxml
pip3 install pyopenssl
pip3 install Twisted
pip3 install pywin32
pip3 install scrapy
2.创建scrapy项目:以mySpider项目为例:
scrapy startproject mySpider
会生成以下文件:
scrapy.cfg :项目的配置文件
mySpider/ :项目的Python模块,将会从这里引用代码
mySpider/items.py :项目的目标文件
mySpider/pipelines.py :项目的管道文件
mySpider/settings.py :项目的设置文件
mySpider/spiders/ :存储爬虫代码目录
3.在items文件中定义数据字段:
class MytianyaItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
#定义字段名为email
email=scrapy.Field()
pass
4.使用scrapy genspider mytianya "bbs.tianya.cn"
创建一个爬虫文件()
mytianya
:为爬虫名
"bbs.tianya.cn"
:为域名
5.mytianya .py
文件名:
class GettianyaEmailSpider(scrapy.Spider):
#爬虫名
name = 'getTianYa_email'
#要爬的网址域名
allowed_domains = ['bbs.tianya.cn']
#要爬的网址
start_urls = ['http://bbs.tianya.cn/post-140-393968-1.shtml']
def parse(self, response):
# email正则表达式
emailre='[0-9a-z_]+@[0-9a-z]+\.[a-z]{2,4}'
emailList=re.findall(emailre,response.body.decode('utf-8'),re.I)
#items中的生成字段名的类,实例化
item=MytianyaItem()
for email in emailList:
item['email']=email
# print(email)
yield item
# print(email)
6.保存数据:
#保存为json数据
scrapy crawl mytianya -o mytianya.json
#保存为csv数据
scrapy crawl mytianya -o mytianya.csv
#保存为想xml数据
scrapy crawl mytianya -o mytianya.xml