python爬虫

如何用python爬取QQ趣图

人生苦短,我用python;作为一种”胶水语言“,python为无数码农带来了便利;同时,越来越多的python工程师被标榜为”高薪党”;“全民python"的时代渐渐到来,你准备好了吗

下面,就让我们用一个实例,具体地感受一下python的魅力吧

前期准备:

  1. Python版本:Python3
  2. 运行平台:Windows
  3. IDE:PyCharm
  4. 浏览器:Chrome

项目名称:

《用python爬取QQ趣图》

项目介绍:

本项目利用python对网页上的图片进行爬取并下载,由于该网站较为简单、原始数据信息直白、无反爬干扰等,读者可从整体上直观地了解到爬虫的流程,适合大部分初学者;同时,该文章展示了源代码,且本项目上升空间很大,读者可将其加以延伸,在此不过多赘述。

网站信息:

http://qq.yh31.com/zjbq/0636124.html

具体步骤:

首先,我们导入第三方库,方便之后使用:

import requests
from lxml import etree
from urllib.request import urlretrieve

为操作规范,我们定义一个函数

def getPhoto():

注:以下内容为函数内部内容,需整体向右缩进

    #确定url
    url = "http://qq.yh31.com/zjbq/0636124.html"
    # 发起请求
    response = requests.get(url)

打开网页,查看源代码可知,应采用”utf-8"的编码格式
在这里插入图片描述
因此,添加如下代码:

#将ASCII格式转换为可包含中文格式("utf-8")
    response.encoding = 'utf-8'

接下来,对目标网页的数据进行解析:

 #将数据转化为html对象
 html = etree.HTML(response.text)  
 #查找数据
 data = html.xpath('//div[@class = "c_content_overflow"]/p/img/@src')

在这里插入图片描述

对网页进行拼接:

#定义num记录数据
num = 1
    for photoStr in data:
        urlStr = 'http://qq.yh31.com' + photoStr

注:以下内容全在for循环里
下载图片:
首先新建一个目录
在当前文件下依次操作:右键、选择New、选择Directory
在这里插入图片描述
右键新建的目录,选择Copy Path ,复制目录路径
在这里插入图片描述
之后用urlretrieve下载图片

#注:其中“——?——”部分为刚才复制的路径
urlretrieve(urlStr,r'C:\Users\——?——\PycharmProjects\reptile\图片/%d.jpg'%num)
       num += 1
#其中%d.jpg'%num可实现动态命名

0K,之后就调用函数了

getPhoto()

这是运行后的结果:
在这里插入图片描述

好了,这个简单的爬虫就写好了,希望能帮到大家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聆一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值