小白教程使用Anaconda3一键运行.py文件
优刊号
•
•
生活百科 •
阅读 27
本帖最后由 skynone 于 20181023 16:30 编辑
小白教程 使用Anaconda3一键运行.py文件
Anaconda3下载 Anaconda3安装教程
spyder 汉化
右键.py文件打开方式找到*\Anaconda3\Lib\idlelib\idle.py

本帖最后由 skynone 于 20181023 16:30 编辑
小白教程 使用Anaconda3一键运行.py文件
Anaconda3下载 Anaconda3安装教程
spyder 汉化
右键.py文件打开方式找到*\Anaconda3\Lib\idlelib\idle.py ,勾选默认 F5运行
目标网站:https://www.mmxztu.com
2楼:本帖最后由 liushao11a 于 20181026 12:56 编辑
# * coding: utf8 *
“””
Created on Sun Oct 21 21:50:13 2018
@author: sunly ##liushao11 补充
“””
import os,re
import time
import requests
from bs4 import BeautifulSoup
from multiprocessing import Pool
hd = {‘UserAgent’: ‘Mozilla/5.0 (Linux; Android 6.0;Nexus 5 Build/MRA\58N) AppleWebKit/537.36(KHTML, like Gecko)\
Chrome/64.0.3282.204 Mobile \Safari/537.36′, ‘referer’: ‘https://www.mmxztu.com/’}
def d(file_path,page,i):
for j in range(1, int(page) + 1):
urls = ‘https://www.mmxztu.com/index.php?s=/Home/Article/detail/id/{0}/p/{1}’.format(i, j)
resp = requests.get(urls, headers=hd, timeout=5)
imgs = str(BeautifulSoup(resp.text, ‘lxml’))
#print(imgs)
res = re.compile(‘>
‘)
s_fd = res.findall(imgs) # 已缴专利费!!
#print(s_fd)
name = s_fd[0].split(‘/’)[1]
path =file_path+”\”+ str(j) + “.jpg”
data = requests.get(s_fd[0], timeout=6)
with open(path, ‘wb’) as f:
f.write(data.content)
print(‘{1}正在下载第{0}张’.format(j,i))
def get_one_page(i):
try:
# one_page图片链接
urls = ‘https://www.mmxztu.com/view/{0}.html’.format(str(i))
r = requests.get(urls, headers=hd)
#r.raise_for_status()
items = str(BeautifulSoup(r.text, ‘lxml’))
res = re.compile(‘第\(1/(.*?)\)张
‘)
s_yjfxx = res.findall(items) #
#print(s_yjfxx) #页面
page = s_yjfxx[0]
res = re.compile(‘content”>\n(.*?)
‘)
s_tx = res.findall(items)
#print(s_tx) #标题
_path = ‘F:\mmxztu’
file_path = os.path.join(_path, s_tx[0])
if not os.path.exists(file_path):
os.makedirs(file_path)
print(‘新建文件夹: ‘, file_path)
else:
os.chdir(file_path)
d(file_path,page,i)
print(‘*******当前{0}页下载完成*******’.format(str(i)))
except :
pass
if __name__ == ‘__main__’:
start_time = time.time()
i = list(range(3790,3820)) #### 期刊号!!
pool = Pool(20) # 创建拥有10个进程数量的进程池
# testFL:要处理的数据列表,run:处理testFL列表中数据的函数
pool.map(get_one_page, i)
pool.close() # 关闭进程池,不再接受新的进程
pool.join() # 主进程阻塞等待子进程的退出
end_time = time.time()
print(‘用时:’, end_time start_time)
复制代码
3楼:本帖最后由 skynone 于 20181024 15:20 编辑
打了个包,大概11页,提取码:fuliba
4楼:怎么用的啊,看不懂啊
5楼:一脸懵逼的进来,一脸懵逼的走!
6楼:是不是可以一键下载所有的图片呢???
7楼:网站不错!赞一个 技术完全不懂
8楼:不错这个也能把它下载下来
9楼:现在上福利吧不懂点编程都不行!
10楼:一看就数个技术贴,厉害楼主
11楼:好像运行没反应 第一个soup CSS选出来的是空
12楼:这个软件能用来弄嘛?
13楼:spyder 汉化 这个是做什么用的?
14楼:spyder 汉化 话说这个放到哪个文件里替换呀
15楼:爬爬爬爬爬爬爬爬爬爬爬爬爬爬
16楼:表示看不懂……
17楼:这安装包太大了,还是算了
18楼:图片文件有多大,怕硬盘放不下
19楼:看不懂,技术贴
20楼:bobo99326 发表于 20181023 20:02
是不是可以一键下载所有的图片呢???
对,把66行改为 for i in range(1,152)就可以下载全站图片了,
发帖的时候抽风了,编辑好的代码只显示一行,所以我又在评论里面发了试一下,等我我重新改一下
21楼:本帖最后由 skynone 于 20181024 07:28 编辑
xyftcgr 发表于 20181023 23:03
spyder 汉化 话说这个放到哪个文件里替换呀
解压后点击main.py运行就行了,前提是你装好了Anaconda3,里面有说明
22楼:fxrfxx 发表于 20181023 23:35
图片文件有多大,怕硬盘放不下
一组图片大概5000kb左右
23楼:skynone 发表于 20181023 16:18
10.24
这个是下载什么的?
24楼:那段代码怎么用的?该更新的都更新的,求告知!
25楼:期待添加多线程并下,这个网站服务器很快,能有个3线程就快很多了
26楼:ipdex 发表于 20181024 10:03
期待添加多线程并下,这个网站服务器很快,能有个3线程就快很多了
图片地址有的404
27楼:
一脸懵逼的进来,一脸懵逼的走!
28楼:NameError: name ‘ocde’ is not defined 运行后这种怎么破?
29楼:
楼主,运行命令显示这个
30楼:安静会让人变强 发表于 20181024 10:59
楼主,运行命令显示这个
这个要指定文件路径,我的方法是把解压好的main.py文件右键打开方式,指定到Anaconda3文件里的python.exe,然后双击根据提示安装就好了