学海AoA无涯 发表于 2020-8-11 23:40

新人Python,第一只爬虫,,我就只会re.findall,你咬我?

来吾爱有几年了,这是我第一次发帖,还不会操作,看不顺眼的就将就看着(^_−)☆
(σ゚∀゚)σ..:*☆哎哟不错哦
https://static.52pojie.cn/static/image/hrline/3.gif
学习了4-5天,觉得自己行了,就动手写了一个,能够跑起来,个人觉得(σ゚∀゚)σ..:*☆哎哟不错哦
由于初学,就只会用findall查找关键字,我想这个新手应该是看得懂的
废话不多说,直接上代码

import requests
import re
import os

# 设置浏览器引擎
headers ={
    'User-Agent': 'Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
}
# 根据搜索,得到搜索结果网页
search = input('你想找怎样的女盆友(✺ω✺) : ')
murl = 'https://www.tujigu.com/search/' + search
response = requests.get(murl, headers=headers)
HTML = response.content.decode('utf-8')
urls = re.findall('<a href="(.*?)" target="_blank"><img src=', HTML) # 获取全部图集的URL地址
picstotle = len(urls)
print('共搜到 {} 个图集,由于网站原因,最多只能搜索到20个(′థ౪థ)σ'.format(picstotle))

# 从全部图集URL中,找出单个图集的URL进行分析
for url in urls:
    response = requests.get(url, headers=headers)
    HTML = response.content.decode('utf-8')
    picsname = re.findall('<title>(.*?)</title>', HTML) # 图集的名称
    picmax = int(re.findall('<p>图片数量: (.*?)P</p>', HTML)) # 获取总的图片数量
    ID = url.split("/") #获取图集的ID,方便进行图片URL的拼接
    path = '图集谷\\' + picsname

# 创建图集目录
    if not os.path.exists(path):
      os.makedirs(path)
      print('目录创建完成。◕ᴗ◕。!,记得设置为隐私文件哦 ✧(^_-✿ ')
    else:
      print('目录已创建o(゚Д゚)っ!!,一看就是老绅士了 ╭∩╮ ')
# 开始下载图集
    print(picsname)
    print('✧⁺⸜(●˙▾˙●)⸝⁺✧ 开始下载嗷~~~')
    for i in range(1, picmax):
      picurl = 'https://lns.hywly.com/a/1/' + ID +'/' + str(i) + '.jpg'
      print('(≧^.^≦)喵~~~正在下载:' + picurl + '')
      res = requests.get(picurl).content
      with open('%s\%s.jpg'%(path, i), 'wb') as f:
            f.write(res)
    print(picsname + '\n下载完成!\n\n')

小晓白 发表于 2020-8-12 10:16

学了四五天就会了,天才呀!!

lamjiarong 发表于 2020-8-12 16:31

remark!谢谢楼主无私的分享!!!正在实践中......

thepoy 发表于 2020-8-13 20:49

小朋友,肯学习就不错。

52扭曲 发表于 2020-8-21 16:17

楼主可以上教程不
页: [1]
查看完整版本: 新人Python,第一只爬虫,,我就只会re.findall,你咬我?