举例网站:http://www.luoo.net/music/期刊号

e.g:http://www.luoo.net/music/760

打算爬取其title:Hello World;pic;desc:本期音乐为......《8-bit Love》。

步骤:

1):建立项目

  在shell中你对应的目录下:scrapy startproject luoo

  在pycharm中打开luoo文件夹

2):编写items.py

1 import scrapy
2 class LuooItem(scrapy.Item):
3     url = scrapy.Field()
4     title = scrapy.Field()
5     pic = scrapy.Field()
6     desc = scrapy.Field()


3):编写spider  在spiders文件夹下建立luoospider.py

  
 1 import scrapy
 2 from luoo.items import LuooItem
 3
 4 class LuooSpider(scrapy.Spider):
 5     name = "luoo"
 6     allowed_domains = ["luoo.net"]
 7     start_urls = []
 8     for i in range(750,763):
 9         url = 'http://www.luoo.net/music/%s'%(str(i))
10         start_urls.append(url)
11
12     def parse(self, response):
13         item = LuooItem()
14         item['url'] = response.url
15         item['title'] = response.xpath('//span[@class="vol-title"]/text()').extract()
16         item['pic'] = response.xpath('//img[@class="vol-cover"]/@src').extract()
17         item['desc'] = response.xpath('//div[@class="vol-desc"]/text()').extract()
18         return item

4)pipelines.py不动5)在command中进入luoo目录  scrapy list   列出可用的爬虫(luoo)  scrapy crawl luoo -o result.csv(执行爬虫并且以result.csv保存到当前目录下)6)用notepad++打开result.py并且更改格式为ANSI后保存,再用excel打开就不会有乱码了

*遗留to do:1)数据考虑后期迁移到mysql数据库2)单独把图片保存到图片格式的文件夹中

memory:顺便附上两个月前用urllib库实现的此功能代码(python3.4)     现在看看用scrapy真的是方便太多了,更别提其牛逼呼呼的可扩展性:
 1 import urllib.request
 2 import re
 3 import time
 4
 5 def openurl(urls):
 6     htmls=[]
 7     for url in urls:
 8         req=urllib.request.Request(url)
 9         req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36')
10   #      Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
11         response = urllib.request.urlopen(url)
12         htmls.append(response.read())
13         time.sleep(5)
14     return htmls
15
16 def jiexi(htmls):
17     pics=[]
18     titles=[]
19     contents=[]
20     for html in htmls:
21         html = html.decode('utf-8')
22         pics.append(re.findall('<div class="player-wrapper".*?>.*?<img.*?src="(.*?).jp.*?".*?alt=".*"',html,re.S))
23         titles.append(re.findall('class="vol-title">(.*?)</span>',html,re.S))
24         contents.append(re.findall('<div.*?class="vol-desc">.*?(.*?)</div>',html,re.S))
25
26     i = len(titles)
27     with open('C:\\Users\\Administrator\\Desktop\\test.txt', 'w') as f:
28         for x in range(i):
29             print("正在下载期刊:%d" %(746-x))
30             f.write("期刊名:"+str(titles[x])[2:-2]+"\n")
31             f.write("图片链接:"+str(pics[x])[2:-2]+".jpg\n")
32             content = str(contents[x])[4:-2]
33             content.strip()
34             print(content.count("""<br>\n"""))
35             content.replace("""<br>\n""","#")
36             f.write("配诗:"+content+"\n\n\n")
37
38
39 yur='http://www.luoo.net/music/'
40 urls = []
41 for i in range(657,659):
42     urls.append(yur + str(i))
43
44 htmls = openurl(urls)
45 pics = jiexi(htmls)

转载于:https://www.cnblogs.com/pengsixiong/p/4908595.html

2:url有规律的多页面爬取相关推荐

  1. python 网络页面爬取

    4.22 python 网络页面爬取 对国家体育总局(例)页面进行简单爬取 运行结果截图: 代码: import requests url="http://www.sport.gov.cn/ ...

  2. 唐诗页面爬取 --- 预研阶段

    页面爬取阶段 (1)获取列表页 (2)获取详情页 获取到每一首唐诗的详情页 根据其html文件的标签属性等,筛选出我们需要的东西,如 题目.朝代.作者.正文等-- 插入数据库阶段: 拿到我们需要的东西 ...

  3. python爬虫二级子页面爬取

    python爬虫二级页面爬取 文章目录 python爬虫二级页面爬取 前言 一.流程 二.操作部分 1.请求头设置 2.第一级页面爬取 3.二级页面内容爬取 4.运行结果 前言 推荐一个爬虫的小玩意 ...

  4. scrapy实现二级页面爬取(以小说为例)

    1.scrapy图解 2.创建项目 scrapy startproject 项目名 创建后的目录 3.编写字段 在items.py中编写需要的字段,这里就写小说的章节和内容 class Xiaoshu ...

  5. 爬虫入门—requests模块基础之关键字搜狗搜索信息页面爬取

    爬虫入门-requests模块基础之关键字搜狗搜索信息页面爬取 Author: Labyrinthine Leo   Init_time: 2021.02.16 Key Words: Spider.r ...

  6. 爬虫快速入门(一):静态页面爬取

    在这个数据为王的时代,掌握一手好的模型炼丹技巧还远远不够,有时候就是那么一小撮数据,就会对模型性能产生至关重要的影响.虽说大一点的公司一般都有专门负责爬虫的同学,但求人不如求己,每一位炼丹师都应该掌握 ...

  7. 基于python爬虫————静态页面和动态页面爬取

    基于python爬虫----静态页面和动态页面爬取 文章目录 基于python爬虫----静态页面和动态页面爬取 1. 爬虫的原理 2. 用正则表达式匹配获取数据 3. 页面源码解析 4. 通过req ...

  8. scrapy模拟浏览器爬取51job(动态渲染页面爬取)

    scrapy模拟浏览器爬取51job 51job链接 网络爬虫时,网页不止有静态页面还有动态页面,动态页面主要由JavaScript动态渲染,网络爬虫经常遇见爬取JavaScript动态渲染的页面. ...

  9. python爬爬爬之单网页html页面爬取

    python爬爬爬之单网页html页面爬取 作者:vpoet 日期:大约在夏季 注:随意copy 不用告诉我 #coding:utf-8 import urllib2 Response=urllib2 ...

最新文章

  1. 如何在Windows Server 2008 Core里面添加Role~~~
  2. rowbounds分页oracle,Oracle使用MyBatis中RowBounds实现分页查询功能
  3. 【Linux】文件特殊权限 SUID/SGID/Sticky Bit
  4. PHP面向对象基础总结
  5. [推荐]Windows2003 Server 设置大全(一)
  6. android搭建https,android 搭建https Server(示例代码)
  7. SQL Server表竖列转横向显示
  8. 【Spark Summit EU 2016】Glint: Spark的异步参数服务器
  9. 《FLUENT 14流场分析自学手册》——1.5 湍流模型
  10. 乐易佳苹果手机恢复软件
  11. 教育心理学有一句名言
  12. 原生WebGL场景中绘制多个圆锥圆柱
  13. 从西天取经的九九八十一难来看Java设计模式:模板方法模式
  14. 常用的一句话反弹shell总结
  15. 数学分析第二型曲线积分2021.6.2
  16. java qq登陆界面源码下载_javaSwingQQ登录界面
  17. 如何使用计算机的加减乘除,计算机是怎么懂加减乘除的
  18. python正则表达式\d 匹配数字\D 匹配非数字\w 匹配单词\W 匹配非单词字符
  19. H6机顶盒Android编译[2]-Android编译
  20. 3dmax如何拆分模型_3dmax分割模型操作方法五步轻松搞定

热门文章

  1. mysql 插入前查重_插入新数据是直接查重,如果有重复则不插入数据
  2. 原生JS实现Ajax下载文件
  3. 安卓 java 视频_安卓实战项目-动态桌面-rxjava实现搜索本地所有视频
  4. Codeforces Round #716 (Div. 2) C. Product 1 Modulo N
  5. 用python导出pptx中每一页的标题
  6. 牛客竞赛,ZUST第17届公开赛,摸鱼记(A、DEFGH、J题解,3/7题代码)
  7. 【软考】2020年全国计算机技术与软件专业技术资格考试,软件设计师,考纲
  8. Servlet→对象监听器、事件监听器、Session钝化活化、@WebListener标注、过滤器概念原理生命周期、过滤器链、@WebFilter标注、定时器Timer、cancel()、purge
  9. python socket客户端_python 使用socket模拟tcp客户端和tcp服务器端
  10. 防淘宝关闭二维码案例