
本帖最后由 疯蛋花 于 201945 12:23 编辑
最近有点无聊,看到吧友们发的福利网站,有点按捺不住自己躁动的内心,然后写了个小爬虫,仅供娱乐,好孩子看不见。。。
链接:https://pan.baidu.com/s/1sjXVtzj64EJajhV06tMZTA
提取码:w用嘴n
对了,放张截图先
2楼:呃,截图直接挂掉了……
3楼:咦?楼主,说好的图呢?
4楼:楼主的图在哪呢 看不到呀
5楼:老板,能分享源码吗,想学习一下
6楼:看不到图啊 不知道是什么东西
7楼:图补上去了,昨天上传了没成功
8楼:wanwfy 发表于 201945 11:14
老板,能分享源码吗,想学习一下
我直接复制下吧,因为git上还有其他的代码,就不分享git地址了
import requests
from lxml import etree
import pymysql
import time
import random
baseUrl = “https://www.mzitu.com/page/{}/”
headers = {
“UserAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36”
}
# 获取所有页面
def getAllPages(baseUrl):
pageList = []
for i in range(78, 213):
page = baseUrl.format(str(i))
pageList.append(page)
return pageList
# 获取单个页面的所有子页面
def getPage(list):
for i in list:
try:
print(‘当前页面:’ + i)
html = etree.HTML(getData(i))
selectors = html.xpath(‘//*[@id=”pins”]/li/a/@href’)
for selector in selectors:
print(selector)
parse(selector)
except:
continue
# 分析单个页面
def parse(url):
murl = url.replace(‘www’, ‘m’)
html = etree.HTML(getData(murl))
pageNum = html.xpath(‘//*[@id=”content”]/div[2]/div/div/span/text()’)
# 获取页数
for i in pageNum:
try:
pages = i[2:4]
for page in range(0, int(pages)):
picurl = murl + ‘/’ + str(page)
print(‘picurl is :’ + picurl)
imgs = etree.HTML(getData(picurl)).xpath(
‘//*[@id=”content”]/article/div[2]/figure/p/a/img/@src’)
alt = etree.HTML(getData(picurl)).xpath(
‘//*[@id=”content”]/article/div[2]/figure/p/a/img/@alt’)
print(‘img url is :’ + imgs[0])
print(imgs[0],picurl,alt[0])
time.sleep(random.randint(0, 2))
except:
continue
# 处理被压缩过的页面
def getData(url):
res = requests.get(url, headers=headers)
if res.status_code != 404:
return res.text
if __name__ == ‘__main__’:
linkList = getAllPages(baseUrl)
getPage(linkList)
9楼:a1036914142@qq 发表于 201945 10:16
下载了,都是一些不漏的作品 AAA
漏的不敢放啊
10楼:其实就是 https://www.mzitu.com 这个网站的图,没啥看的入眼的,写爬虫还是爬点视频有意思,图没啥给力
11楼:缘来是你 发表于 201945 17:00
其实就是 https://www.mzitu.com 这个网站的图,没啥看的入眼的,写爬虫还是爬点视频有意思,图没啥给力
有给力的不敢放上来,和谐社会
12楼:先谢过大佬的分享
13楼:下载效果不错,怎么没有一个暂停或者退出的开关呢?是否可以下载https://www.1000rrrr.com/yazhourenti/上的图片呢?
14楼:毋庸讳言 发表于 201945 20:07
下载效果不错,怎么没有一个暂停或者退出的开关呢?是否可以下载https://www.1000rrrr.com/yazhourenti/上 …
这是我用Python编译出来的,暂停什么的都没做,退出的话直接关了就好了,这个网站可以爬
15楼:疯蛋花 发表于 201945 21:28
这是我用Python编译出来的,暂停什么的都没做,退出的话直接关了就好了,这个网站可以爬
如何爬呢?能否提供一个?
