iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python之网络爬虫
  • 141
分享到

python之网络爬虫

爬虫网络python 2023-01-31 07:01:57 141人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一、演绎自已的北爱         踏上北漂的航班,开始演奏了我自已的北京爱情故事二、爬虫11、网络爬虫的思路首先:指定一个url,然后打开这个url地址,读其中的内容。其次:从读取的内容中过滤关键字;这一步是关键,可以通过查看源代码的方式

一、演绎自已的北爱 


        踏上北漂的航班,开始演奏了我自已的北京爱情故事


二、爬虫1

1、网络爬虫的思路

首先:指定一个url,然后打开这个url地址,读其中的内容。

其次:从读取的内容中过滤关键字;这一步是关键,可以通过查看源代码的方式获取。

最后:下载获取的html的url地址,或者图片的url地址保存到本地


2、针对指定的url来网络爬虫

分析:

第一步:大约共有4300个下一页。

第二步:一个页面上有10个个人头像

第三步:一个头像内大约有100张左右的个人图片

指定的淘宝mm的url为:Http://mm.taobao.com/JSON/request_top_list.htm?type=0&page=1

wKiom1Re1DjxFLWEAAI4xhSpEeU805.jpg

这个页面默认是没有下一页按钮的,我们可以通过修改其url地址来进行查看下一个页面

wKioL1Re1WrieaAHAAJOq58aESc130.jpg

最后一页的url地址和页面展示如下图所示:

wKiom1Re1W-xRcNPAAEzpyPjmyo284.jpg

点击任意一个头像来进入个人的主页,如下图

wKioL1Re1q7AU3EwAANbsDDzi1k438.jpg

3、定制的脚本

#!/usr/bin/env python
#coding:utf-8
#Author:Allentuns
#Email:zhengyansheng@hytyi.com


import urllib
import os
import sys
import time

ahref = '<a href="'
ahrefs = '<a href="h'
ahtml = ".htm"
atitle = "<img style"
ajpg = ".jpg"
btitle = '<img src="'

page = 0
while page < 4300:    #这个地方可以修改;最大值为4300,我测试的时候写的是3.
        mmurl = "http://mm.taobao.com/json/request_top_list.htm?type=0&page=%d" %(page)
        content = urllib.urlopen(mmurl).read()

        href = content.find(ahref)
        html = content.find(ahtml)
        url = content[href + len(ahref) : html + len(ahtml)]
        print url
        imgtitle = content.find(btitle,html)
        imgjpg = content.find(ajpg,imgtitle)
        littleimgurl = content[imgtitle + len(btitle): imgjpg + len(ajpg)]
        print littleimgurl

        urllib.urlretrieve(littleimgurl,"/www/src/temp/p_w_picpath/taobaomm/allentuns.jpg")

        s = 0
        while s < 18:
                href = content.find(ahrefs,html)
                html = content.find(ahtml,href)
                url = content[href + len(ahref): html + len(ajpg)]
                print s,url

                imgtitle = content.find(btitle,html)
                imgjpg = content.find(ajpg,imgtitle)
                littleimgurl = content[imgtitle : imgjpg + len(ajpg)]
                littlesrc = littleimgurl.find("src")
                tureimgurl = littleimgurl[littlesrc + 5:]
                print s,tureimgurl


                if url.find("photo") == -1:
                        content01 = urllib.urlopen(url).read()
                        imgtitle = content01.find(atitle)
                        imgjpg = content01.find(ajpg,imgtitle)
                        littleimgurl = content01[imgtitle : imgjpg + len(ajpg)]
                        littlesrc = littleimgurl.find("src")
                        tureimgurl = littleimgurl[littlesrc + 5:]
                        print tureimgurl

                        imGCount = content01.count(atitle)
                        i = 20
                        try:
                                while i < imgcount:
                                        content01 = urllib.urlopen(url).read()
                                        imgtitle = content01.find(atitle,imgjpg)
                                        imgjpg = content01.find(ajpg,imgtitle)
                                        littleimgurl = content01[imgtitle : imgjpg + len(ajpg)]
                                        littlesrc = littleimgurl.find("src")
                                        tureimgurl = littleimgurl[littlesrc + 5:]
                                        print i,tureimgurl
                                        time.sleep(1)
                                        if tureimgurl.count("<") == 0:
                                                imgname = tureimgurl[tureimgurl.index("T"):]
                                                urllib.urlretrieve(tureimgurl,"/www/src/temp/p_w_picpath/taobaomm/%s-%s" %(page,imgname))
                                        else:
                                                pass
                                        i += 1
                        except ioError:
                                print '/nWhy did you do an EOF on me?'
                                break
                        except:
                                print '/nSome error/exception occurred.'

                s += 1
        else:
                print "---------------{< 20;1 page hava 10 htm and pic  }-------------------------}"
        page = page + 1
        print "****************%s page*******************************" %(page)
else:
        print "Download Finshed."

4、图片展示(部分图片)

wKioL1Re2ICiL6AQAAhVHpRxlWc887.jpg

wKiom1Re2BvxeUXWAAhjd5UBBfo108.jpg

5、查看下载的图片数量

wKioL1Re2QvDnZb3AAIXXHul8HU186.jpgwKiom1Re2MrAMoPXAAtfpHgkZHU553.jpg


二、爬虫2

1、首先来分析url

第一步:总共有7个页面;

第二步:每个页面有20篇文章

第三步:查看后总共有317篇文章

wKiom1Re2xzwiidxAAZjxM8KAOM147.jpg

wKioL1Re24aQ2iNbAAd97-WqAm4390.jpg

wKiom1Re2yGwofzrAAeL33Kq3ao239.jpg

2、Python脚本

脚本的功能:通过给定的url来将这片博客里面的所有文章下载到本地

#!/usr/bin/env python
#coding: utf-8

import urllib
import time

list00 = []
i = j = 0
page = 1

while page < 8:
        str = "http://blog.sina.com.cn/s/articlelist_1191258123_0_%d.html" %(page)
        content = urllib.urlopen(str).read()

        title = content.find(r"<a title")
        href  = content.find(r"href=",title)
        html  = content.find(r".html",href)
        url = content[href + 6:html + 5]
        urlfilename = url[-26:]
        list00.append(url)
        print i,  url

        while title != -1 and href != -1 and html != -1 and i < 350:
                title = content.find(r"<a title",html)
                href  = content.find(r"href=",title)
                html  = content.find(r".html",href)
                url = content[href + 6:html + 5]
                urlfilename = url[-26:]
                list00.append(url)
                i = i + 1
                print i,  url
        else:
                print "Link address Finshed."

        print "This is %s page" %(page)
        page = page + 1
else:
        print "spage=",list00[50]
        print list00[:51]
        print list00.count("")
        print "All links address Finshed."

x = list00.count('')
a = 0
while a < x:
        y1 = list00.index('')
        list00.pop(y1)
        print a
        a = a + 1

print list00.count('')
listcount = len(list00)


while j < listcount:
        content = urllib.urlopen(list00[j]).read()
        open(r"/tmp/hanhan/"+list00[j][-26:],'a+').write(content)
        print "%2s is finshed." %(j)
        j = j + 1
        #time.sleep(1)
else:
        print "Write to file End."

3、下载文章后的截图

wKioL1Re3R3gg6IGAA8dyZrP0U4461.jpg4、从linux下载到windows本地,然后打开查看;如下截图

wKiom1Re3XzBVDbjAAlH2M5t-kI943.jpg

--结束END--

本文标题: python之网络爬虫

本文链接: https://www.lsjlt.com/news/191152.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python之网络爬虫
    一、演绎自已的北爱         踏上北漂的航班,开始演奏了我自已的北京爱情故事二、爬虫11、网络爬虫的思路首先:指定一个url,然后打开这个url地址,读其中的内容。其次:从读取的内容中过滤关键字;这一步是关键,可以通过查看源代码的方式...
    99+
    2023-01-31
    爬虫 网络 python
  • Python爬虫之网络请求
    目录1.IP代理2.Cookie3.异常处理 1.IP代理 某些网站会检测一段时间内某IP的访问次数,若访问次数过多会禁止访问,这时需要设置一些代理服务器,每隔一段时间换一...
    99+
    2024-04-02
  • Python网络爬虫之获取网络数据
    目录使用 Python 获取网络数据编写爬虫代码使用 IP 代理总结Python 语言的优势在于其功能强大,可以用于网络数据采集、数据分析等各种应用场景。本篇文章将介绍如何使用 Py...
    99+
    2023-05-18
    Python获取网络数据 Python爬取数据
  • Python网络爬虫之HTTP原理
    目录⭐️爬虫基础🌟HTTP 基本原理✨URI和 URL✨超文本✨HTTP 和HTTPS ✨HTTP 请求过程✨请求✨响应⭐️爬虫基础 在写爬虫之前,我们还需要了解一些基础知...
    99+
    2023-05-15
    Python网络爬虫HTTP原理 Python网络HTTP原理 Python HTTP原理
  • Python网络爬虫之Web网页基础
    目录⭐️Web网页基础🌟1.网页的组成✨HTML✨CSS✨JavaScript🌟2.网页的结构🌟3.节点树和节点间的关系🌟4.选择器🌟5.总结⭐️Web网页基础 我们在学习爬虫之前,...
    99+
    2023-05-15
    Python网络爬虫Web网页基础 Python网络Web网页基础 Python Web网页基础
  • python写网络爬虫
    #!/usr/bin/evn python import re #导入正则表达式模块import urllib #导入urllib模块,读取页面与下载页面需要用到def getH...
    99+
    2023-01-31
    爬虫 网络 python
  • Python网络爬虫之怎么获取网络数据
    使用 Python 获取网络数据使用 Python 语言从互联网上获取数据是一项非常常见的任务。Python 有一个名为 requests 的库,它是一个 Python 的 HTTP 客户端库,用于向 Web 服务器发起 HTTP 请求。我...
    99+
    2023-05-14
    Python
  • Python网络爬虫之如何获取网络数据
    本篇内容介绍了“Python网络爬虫之如何获取网络数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用 Python 获取网络数据使用 P...
    99+
    2023-07-06
  • Python网络爬虫实战案例之:7000
    一、前言 本文是《Python开发实战案例之网络爬虫》的第三部分:7000本电子书下载网络爬虫开发实战详解。配套视频课程详见51CTO学院请添加链接描述。 二、章节目录 3.1 业务流程3.2 页面结构分析:目录页3.3 页面结构分析:详情...
    99+
    2023-01-31
    爬虫 实战 案例
  • python网络爬虫实战
    目录一、概述二、原理三、爬虫分类1、传统爬虫2、聚焦爬虫3、通用网络爬虫(全网爬虫)四、网页抓取策略1、宽度优先搜索:2、深度优先搜索:3、最佳优先搜索:4、反向链接数策略:5、Pa...
    99+
    2024-04-02
  • Python网络爬虫之HTTP原理是什么
    今天小编给大家分享一下Python网络爬虫之HTTP原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。HTTP 基本原...
    99+
    2023-07-06
  • Python爬虫之网络请求实例分析
    本篇内容介绍了“Python爬虫之网络请求实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.IP代理某些网站会检测一段时间内某IP的...
    99+
    2023-06-30
  • python爬虫之三:解析网络报文xml
    本节主要是讲解在项目中怎么解析获取的xml报文并获取相关字段。 xml解析第三方库学习地址:http://www.runoob.com/python/python-xml.html xml文件如下: <xml versio...
    99+
    2023-01-31
    报文 爬虫 之三
  • Python网络爬虫之Web网页基础是什么
    本文小编为大家详细介绍“Python网络爬虫之Web网页基础是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python网络爬虫之Web网页基础是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.网页的...
    99+
    2023-07-05
  • python爬虫#网络请求request
    中文文档 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功...
    99+
    2023-01-30
    爬虫 网络 python
  • 网络爬虫之scrapy爬取某招聘网手机A
             过段时间要开始找新工作了,爬取一些岗位信息来分析一下吧。目前主流的招聘网站包括前程无忧、智联、BOSS直聘、拉勾等等。有段时间时间没爬取手机APP了,这次写一个爬虫爬取前程无忧手机APP岗位信息,其他招聘网站后续再更新...
    99+
    2023-01-30
    爬虫 招聘网 手机
  • Python3网络爬虫实战-11、爬虫框
    ScrapySplash 是一个 Scrapy 中支持 JavaScript 渲染的工具,本节来介绍一下它的安装方式。ScrapySplash 的安装分为两部分,一个是是 Splash 服务的安装,安装方式是通过 Docker,安装之后会...
    99+
    2023-01-31
    爬虫 实战 网络
  • Python3网络爬虫实战-15、爬虫基
    在写爬虫之前,还是需要了解一些爬虫的基础知识,如 HTTP 原理、网页的基础知识、爬虫的基本原理、Cookies 基本原理等。 那么本章内容就对一些在做爬虫之前所需要的基础知识做一些简单的总结。 在本节我们会详细了解 HTTP 的基本原理...
    99+
    2023-01-31
    爬虫 实战 网络
  • 02 python网络爬虫《Http和H
    一.HTTP协议   1.概念:     Http协议就是服务器(Server)和客户端(Client)之间进行数据交互(相互传输数据)的一种形式。 之间形成的特殊行话(黑话:(土匪)天王盖地虎,(我)宝塔镇河妖)称为协议。   2.Ht...
    99+
    2023-01-31
    爬虫 网络 python
  • Python网络爬虫举例分析
    这篇文章主要讲解了“Python网络爬虫举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python网络爬虫举例分析”吧!先来看一段简单的代码。import requests...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作