首页 > 编程语言 >Python代码简单几步完成爬虫

Python代码简单几步完成爬虫

时间:2023-01-03 10:36:17浏览次数:43  
标签:num 几步 Python 爬虫 urllib label jsonpath requests

进入互联网时代,网络上充斥着各种各样的信息,鱼龙混杂,要是人工分辨工作效率又非常低,那么如何才能实现快速检索我们需要的信息呢 ?例如如何通过爬虫实现美图批量下载,如何通过多线程实现快速爬虫 ?下面我们一起来了解下吧。

之前我只是利用单线程爬取的项目,那种太多单一,而且工作效率太慢,只得考虑多线程。

知识点:认识和了解爬虫、爬虫思路、urllib.parse、jsonpath库

环境:windows、pycharm、python3

第三方库:

requests、jsonpath

导入模块

import urllib.parse
import json
import requests
import jsonpath

确定目标网址

url = 'https://www.duitang.com/napi/blog/list/by_search/?kw={}&start={}'

分析网站,确定爬取目标

label = '美女'
label = urllib.parse.quote(label)

发送请求,提取数据

num = 0
for index in range(0,2400,24):
u = url.format(label,index)
we_data = requests.get(u).text

类型转换

html = json.loads(we_data)
photo = jsonpath.jsonpath(html,"$..path")

保存数据

for i in photo:
a = requests.get(i)
with open(r'C:\Users\Administrator\Desktop\tupian\{}.jpg'.format(num),'wb') as f:
f.write(a.content) # 二进制
num += 1

运行代码,效果如下图:

Python代码简单几步完成爬虫_工作效率

标签:num,几步,Python,爬虫,urllib,label,jsonpath,requests
From: https://blog.51cto.com/u_13488918/5984658

相关文章

  • [oeasy]python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart
    ​ 牛说(cowsay)回忆上次内容我们狂飙了一路从用shell直接执行python程序到用shell循环执行python程序循环体中把python的输出结果用管道交给了......
  • Python 对时区的处理
    fromdatetimeimportdatetime,timezone,timedeltatz=timezone(timedelta(hours=+8))fmt='%Y-%m-%dT%H:%M:%S.%f%z'zoned_time1=datetime.today().asti......
  • 【Python】爬虫笔记-多线程&线程池
    1.基本概念1.1并发和并行并发和并行的概念并不是对立的,并发(concurrent)对应的是顺序(sequential),并行(parallel)对应的是串行(serial)。顺序:上一个开始执行的任务完成后,当前......
  • Python网络编程之IP地址的介绍
    一、IP地址的概念IP地址就是标识网络中设备的一个地址,好比现实生活中的家庭地址。网络中的设备效果图:二、IP地址的表现形式说明:IP地址分为两类: IPv4 和 IPv6IPv4......
  • 学习Python第一个程序“Hello,World”
    博主王大博:http://wangdabo.com/博主亲自帮忙一句话,可以学学python,我感觉也不错哈哈哈,先热爱一门编程语言吧~下载pycharm+py3.8新建项目名:feifeige#Author:符攀飞#......
  • Python网络编程之端口和端口号
    一、问题思考不同电脑上的飞秋之间进行数据通信,它是如何保证把数据给飞秋而不是给其它软件呢?其实,每运行一个网络程序都会有一个端口,想要给对应的程序发送数据,找到对应的端......
  • Python的打包神器—Nuitka!
    一.pyinstaller和Nuitka使用感受1.1使用需求这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyintaller和......
  • 登陆界面、学生信息记录界面——Python
    Button按钮Canvas画布、用于绘制直线、椭圆、多边形等形状Checkbutton复选框Entry单行文本框Frame框架,可以作为其它组建的容器,常用来对组件进行分......
  • centos7 中 安装python 11
     001、查看系统[root@PC1~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)  002、安装环境依赖[root@PC1home]#yumgroupsmarkinstal......
  • 调试Python程序的几种方法总结
    程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,......