Scrapy简介
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。
Scrapy入门请看官方文档:scrapy官方文档
本爬虫爬取的是电影排名与放映时间和评分 成果图如下:
整体思路
1、新建项目和爬虫文件 2、编写test1文件和main.py代码 3、修改middlewares.py/编写piplines.py 4、修改settings,items文件代码 5、启动
1.新建项目和爬虫文件
2.编写imdb.py文件
注意理解注释。
from yingshi.items import YingshiItem
import scrapy
import time
class ImdbSpider(scrapy.Spider):
name = 'imdb'
allowed_domains = ['imdb.cn']
start_urls = ['https://www.imdb.cn/imdb250/']
offset=0
def parse(self, response):
items=YingshiItem()
lists=response.xpath('//tbody[@class="rl_lister-list"]/tr')#获取想要爬的地方的xpath
print('获取的lists:',lists)
for i in lists:
items['mingzi'] = i.xpath('./td/a/@title').get()#使用get方法获取电影名字的xpath
print('电影名:',items['mingzi'])
items['shijian']=i.xpath('./td/a/span/text()')[0].extract()#获取电影时间的xpath
items['shijian']=items['shijian'][1:5]#获取括号中的时间
print('时间:',items['shijian'])
items['fen']=i.xpath('./td[@class="rl_grade_IMDB"]/span/text()')[0].extract() #获取评分的xpath
print('评分:',items['fen'])
time.sleep(0.5)#停顿
yield items
main.py文件
from scrapy.cmdline import execute
execute("scrapy crawl imdb".split())
3.修改middlewares.py
# Define here the models for your spider middleware
#
# See documentation in