首页 > 编程知识 正文

爬妹子片,python爬取贴吧片

时间:2023-05-04 03:34:38 阅读:278951 作者:4596

大致步骤:

第一步:找到我们要爬取的网站 https://www.vmgirls.com/这是个妹子图片的私人网站

第二步:打开Vscode或者Pycharm都可以 复制我的代码,详细的解释写好了

ps:requests库需要手动下载,按win+R输入cmd进入命令行模式,输入pip install
requests安装requests库。

第一部分,请求网页。 # 导入requests库import requests # 导入re正则表达式库import re # 导入系统内置库import os headers = { 'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}# 用request.get方法访问网址得到网页HTML内容response = requests.get('https://www.vmgirls.com/12985.html', headers = headers)#网页内容以文本形式打印出来html = response.text

设置标题headers防止反爬,标题这样设置的原因是因为我们要模仿我们真的是从这个网页下载图片而不是通过python来获取图片,所以用网站的标题就行了。
查看网站的标题: 在网页中按F12,在菜单栏中选择network可以看到网页的headers,复制粘贴就可以得到原headers了!

第二部分,获取网页内容 #为文件夹起名字用图片的名字命名。dir_name = re.findall('<h1 class="post-title h3">(.*?)</h1>', html)[-1] # 如果文件夹不存在那么就建立文件夹,不然就不建立if not os.path.exists(dir_name): os.mkdir(dir_name) # 获取图片地址urls = re.findall('<a rel="external nofollow" rel="external nofollow" href="(.*?)" alt=".*?" title=".*?">', html)# 打印获得的urlsprint(urls) 第三部分,保存图片 # 通过for循环来遍历筛选过的urls,然后分别下载保存!for url in urls: file_name = url.split('/')[-1] response = requests.get(url, headers = headers) with open(dir_name + '/' + file_name, 'wb') as f: f.write(response.content)

以上是详细教程
完成啦!!!!!!!!!!!!!!

完整代码: # 导入requests库import requests # 导入re正则表达式库import re # 导入系统内置库import os headers = { 'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}# 用request.get方法访问网址得到网页HTML内容response = requests.get('https://www.vmgirls.com/12985.html', headers = headers)#网页内容以文本形式打印出来html = response.text #为文件夹起名字用图片的名字命名。dir_name = re.findall('<h1 class="post-title h3">(.*?)</h1>', html)[-1] # 如果文件夹不存在那么就建立文件夹,不然就不建立if not os.path.exists(dir_name): os.mkdir(dir_name) # 获取图片地址urls = re.findall('<a rel="external nofollow" rel="external nofollow" href="(.*?)" alt=".*?" title=".*?">', html)# 打印获得的urlsprint(urls)# 通过for循环来遍历筛选过的urls,然后分别下载保存!for url in urls: file_name = url.split('/')[-1] response = requests.get(url, headers = headers) with open(dir_name + '/' + file_name, 'wb') as f: f.write(response.content)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。