python爬虫_入门_翻页

写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了

其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633.html,话说我得给这个人增加了多大的访问量啊......

10384633重点关注下这个数字,这个就是页面的名称,现在尝试把这个数字+/-1看看有没有结果

验证http://bbs.fengniao.com/forum/10384634.html

可以看到,这个页面是可以访问的

再试试http://bbs.fengniao.com/forum/10384632.html,这次不截图了,可以自己去试试,也是可以访问的

那么接下来就好办了,只要把这个数字每次+1或-1就可以了,甚至可以从http://bbs.fengniao.com/forum/1.html开始尝试连接,一直+1,直到502或404断开

下面上代码,还是用之前的内容,这次加了个页面处理的函数

#!/usr/bin/python
# coding: UTF-8

import urllib
import urllib2
import re

#处理地址,并获取页面全部的图片地址
def get_image_url(url):
  #url_format = urllib2.Request(url) #1
  url_open = urllib.urlopen(url) #2
  url_read = url_open.read() #3
  re_value = re.compile(‘(?<=src\=\").*?\.jpg‘)
  image_url_list = re.findall(re_value,url_read) #4
  return image_url_list

#这个函数专门用来下载,前面两行是将图片连接中/前面的内容全部删除,留下后面的文件名用来保存文件的,try不说了,不清楚请翻回去看容错
def down_image(image_url):
  rev = ‘^.*/‘
  file_name = re.sub(rev,‘‘,image_url)
  try:
    urllib.urlretrieve(image_url,file_name)
  except:
    print ‘download %s fail‘ %image_url
  else:
    print ‘download %s successed‘ %image_url

#这个函数用来处理页面,每次+1
def get_page(url):
  url_num = re.search(‘(?<=\/)[0-9]+(?=\.)‘,url)
  url_num = url_num.group()
  url_num_1 = int(url_num) + 1
  url = url.replace(url_num,str(url_num_1))
  return url

if __name__ == ‘__main__‘:
  url = ‘http://bbs.fengniao.com/forum/10384633.html‘
  for n in range(1,10):
    url = get_page(url)
    image_url_list = get_image_url(url)
    for image_url in image_url_list:
      down_image(image_url) #5

其实可以给get_page传两个参数,一个是URL另一个是递增的数值,就变成了get_page(url,n),但是我没有这么写,可以思考下为什么,如果把for n in range(1,10)改成while True会怎样?嘿嘿......回头人家封你IP可别找我啊

原文地址:https://www.cnblogs.com/xiu123/p/9094956.html

时间: 2024-10-09 22:47:29

python爬虫_入门_翻页的相关文章

python爬虫-基础入门-爬取整个网站《3》

python爬虫-基础入门-爬取整个网站<3> 描述: 前两章粗略的讲述了python2.python3爬取整个网站,这章节简单的记录一下python2.python3的区别 python2.x 使用类库: >> urllib 库 >> urllib2 库 python3.x 使用的类库: >> urllib 库 变化: -> 在python2.x中使用import urllib2 ----- 对应的,在python3.x 中会使用import url

python爬虫小小白入门

python爬虫小小白入门 学习目标: 爬虫基本思想 python爬虫常用包,官方文档,用途,安装方法,常用方法. 简单爬虫实例--从W3Cschool爬取C语言教程文本 python环境:: Anaconda3, spyder, windows10 一.基本思想 爬虫就是从网页上抓取你想要的内容,主要分为三个步骤.首先需要仔细分析目标页面内容,知道你想要的内容:文字,图片,视频在HTML中的哪个标签里,然后通过爬虫代码向服务器发起请求,得到HTML页面内容,最后把目标内容解析出来. 分析目标页

Python爬虫Scrapy(二)_入门案例

本章将从案例开始介绍python scrapy框架,更多内容请参考:python学习指南 入门案例 学习目标 创建一个Scrapy项目 定义提取的结构化数据(Item) 编写爬取网站的Spider并提取出结构化数据(Item) 编写Item Pipelines来存储提取到的Item(即结构化数据) 一.新建项目(scrapy startproject) 在开始爬取之前,必须创建一个新的Scrapy项目.进入自定义的项目目录中,运行下列命令: scrapy startproject cnblogS

Python爬虫从入门到进阶(2)之爬虫简介

1.爬虫入门:使用代码模拟真实用户发送网络请求批量获取数据1).爬虫价值: 1.买卖数据(高端领域特别贵) 2.数据分析(出分析报告) 3.流量 4.阿里指数,百度指数2).合法性:灰色产业政府没有法律规定爬虫是否违法 公司概念:公司让你爬取数据 爬虫是否可以爬所有的东西?不可以,爬虫只能爬取到用户可以访问的数据 爱奇艺视频(vip 用户,非 vip 用户) 付费小说(付费才能爬取) 2.爬虫分类: 1.通用爬虫:使用搜索引擎:百度,360,谷歌... 劣势:目标不明确,返回的内容90%是用户不

Python爬虫从入门到放弃(十九)之 Scrapy爬取所有知乎用户信息(下)

在上一篇文章中主要写了关于爬虫过程的分析,下面是代码的实现,完整代码在:https://github.com/pythonsite/spider items中的代码主要是我们要爬取的字段的定义 class UserItem(scrapy.Item): id = Field() name = Field() account_status = Field() allow_message= Field() answer_count = Field() articles_count = Field()

python爬虫从入门到放弃(九)之 实例爬取上海高级人民法院网开庭公告数据

原文地址https://www.cnblogs.com/zhaof/p/6959012.html 通过前面的文章已经学习了基本的爬虫知识,通过这个例子进行一下练习,毕竟前面文章的知识点只是一个 一个单独的散知识点,需要通过实际的例子进行融合 分析网站 其实爬虫最重要的是前面的分析网站,只有对要爬取的数据页面分析清楚,才能更方便后面爬取数据 目标站和目标数据目标地址:http://www.hshfy.sh.cn/shfy/gweb/ktgg_search.jsp目标数据:目标地址页面的中间的案开庭

Python爬虫怎么入门-让入门更快速,更专注

经常有同学私信问,Python爬虫该怎么入门,不知道从何学起,网上的文章写了一大堆要掌握的知识,让人更加迷惑. 我也浏览了下网上关于怎么Python爬虫入门的文章,发现有的还在教人用urllib来发送http请求,这真是有点误人子弟了.本文也不提倡刚开始去学习第三方爬虫框架,我想把要学习的知识简化一些,让入门更快速,更专注. Python爬虫入门:技能 真要说Python爬虫需要具备什么知识,那就是你得会Python,哈哈. 其他的知识就是你能熟练运用Python的几个第三方库,当然你具备一点h

python爬虫从入门到精通-系列教程

开始爬虫之旅 引言 我经常会看到有人在知乎上提问如何入门 Python 爬虫?.Python 爬虫进阶?.利用爬虫技术能做到哪些很酷很有趣很有用的事情?等这一些问题,我写这一系列的文章的目的就是把我的经验告诉大家. 什么是爬虫? 引用自维基百科 网络蜘蛛(Web spider)也叫网络爬虫(Web crawler),蚂蚁(ant),自动检索工具(automatic indexer),或者(在FOAF软件概念中)网络疾走(WEB scutter),是一种“自动化浏览网络”的程序,或者说是一种网络机

Python爬虫(十五)_案例:使用bs4的爬虫

本章将从Python案例讲起:所使用bs4做一个简单的爬虫案例,更多内容请参考:Python学习指南 案例:使用BeautifulSoup的爬虫 我们已腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a 使用BeautifulSoup4解析器,将招聘网页上的职位名称.职位类别.招聘人数.工作地点.时间.以及每个职位详情的点击链接存储出来. #-*- coding:utf-8 -*- from bs4 import Beautiful