代码拉取完成,页面将自动刷新
# -*- coding:utf-8 -*-
import os
import requests
from bs4 import BeautifulSoup
from gevent import monkey; monkey.patch_socket()
import gevent
# 指定一个浏览器头
HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 \(KHTML, '
'like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
# 代理,免费的代理只能维持一会可能就没用了,自行更换
PROXIES = {
'http': '111.23.10.27:8080'
}
BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'imgs')
BASE_URL = 'http://mm.155.pw/xinggan/'
def get_url(page_id):
"""获取页面地址"""
foot_url = '.html'
return BASE_URL + str(page_id) + foot_url
def get_html(url):
"""发出请求获得HTML源码的函数"""
try:
# Requests库的get请求
resp = requests.get(url, headers=HEADERS).text
except:
# 如果请求被阻,就使用代理
resp = requests.get(url, headers=HEADERS, proxies=PROXIES).text
return resp
def main(page_id):
"""遍历所有网址图片存入数组"""
# for url in all_page(start, end):
url = get_url(page_id)
soup = BeautifulSoup(get_html(url), 'lxml')
arr = soup.find_all('img', 'post-item-img')
path = soup.head.title.string.split(' ')[0]
isExists = os.path.exists(os.path.join(BASE_DIR, path))
# 如果不存在
if not isExists:
print('makedir', path)
# 创建文件夹
os.makedirs(os.path.join(BASE_DIR, path))
# 如果存在了就返回False
else:
print(path, 'already exists')
# 切换到创建的文件夹
os.chdir(os.path.join(BASE_DIR, path))
for img in arr:
urls = img['data-original']
imgs = requests.get(urls)
path1 = urls.split('/')[-1]
with open(path1, 'wb') as path:
path.write(imgs.content)
print('成功' + ':' + path1)
if __name__ == '__main__':
for i in range(2101, 2105):
g = gevent.spawn(main, i)
g.join()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。