Python培训
400-996-5531
最近我在学习Python,因为以前学习过C++,所以Python学起来还是挺快的,不知不觉中就学到了爬虫,我在敲了一遍爬虫的代码后,发现了几个问题:
找不到requests库。
下载速度太慢。
没有详细的讲解,第一遍很难读懂。
解决办法:
通过命令提示符安装Python库。
使用多线程。
自己写注释
效果:
下面我就给大家详细的讲解一下windows安装Python库文件解决办法。
按下快捷键:“win键”+字母“r”,并输入“cmd”,打开“命令提示符”。
输入“pip install 库文件名称”。
如果下载过程中有提问,就输入“y“并回车。
代码
我给代码写了详细的注释,所以这里就不详细的讲解了。也可以到我的网站去下载#/download/%E5%A4%9A%E7%BA%BF%E7%A8%8BPython%E7%88%AC%E8%99%AB.py
#-*- coding:utf-8 -*-
import re
import requests
import os
import _thread
import time
print('注明:')
print('1、本程序只供公众号读者们学习使用,请勿用于其他用途。')
print('2、可能有一些图片因为链接失效下载不了,不是本程序的问题。')
print('3、本程序使用了多线程,输出可能有一点乱。')
print('4、本程序会自动在D盘创建一个目录,名称为下载内容,图片会放在里面。')
key_word = input("请输入下载内容:")
num = input('请输入下载页数:')
i = 0 #图片名称(编号0~n)
st = 'D:\\'+key_word #存放图片的文件夹(如果没有D盘可以改为C盘)。
if os.path.isdir(st) == False:
os.mkdir(st) #如果没有这个文件夹就创建一个
def getpic(each,ii):
#print(each) 打印地址(因为是多线程的程序,打印出来会很乱,所以去掉了。)。
try:
pic= requests.get(each) #尝试回获取图片
except requests.exceptions.ConnectionError:
pri='图片错误!图片'+str(ii)+'无法下载'
print(pri) #链接失效,报错并退出函数。
return
string =st+'\\'+str(ii) + '.jpg' #将文件夹路径和文件名合并,得到图片路径。
fp = open(string,'wb') #打开文件,没有文件就新建一个。
fp.write(pic.content) #将下载完的图片写入到文件中。
fp.close() #关闭文件
pri=str(ii)+'、'
print(pri) #向使用者汇报
print('下载完成的图片有:') #for循环之前打印标题,等待图片下载完成。
for i in range(int(num)):
pn = i*20 #百度图片的页数值为页数*20
url = 'https://tupian.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+str(key_word)+'&pn='+str(pn)+'&gsm=3c&ct=&ic=0&lm=-1&width=0&height=0' #拼接链接
html = requests.get(str(url)).text #获取地址
pic_url = re.findall('"objURL":"(.*?)",',html,re.S) #用正则表达式获取图片链接列表。
for each in pic_url:
_thread.start_new_thread(getpic,(each,i)) #创建新进程下载图片,each为图片链接,i为图片编号。
i += 1 #图片编号加“1”
time.sleep(120000) #等待两分钟
文章来自网络,版权归原作者所有,如果侵犯你的权利,请联系我们进行删除!
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved