如何用python爬取QQ趣图
人生苦短,我用python;作为一种”胶水语言“,python为无数码农带来了便利;同时,越来越多的python工程师被标榜为”高薪党”;“全民python"的时代渐渐到来,你准备好了吗
下面,就让我们用一个实例,具体地感受一下python的魅力吧
前期准备:
- Python版本:Python3
- 运行平台:Windows
- IDE:PyCharm
- 浏览器: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()
这是运行后的结果:
好了,这个简单的爬虫就写好了,希望能帮到大家