爬取妹子图片(简单入门)

   日期:2020-07-01     浏览:102    评论:0    
核心提示:安装第三方请求库requests被网站禁止了访问原因是我们是Python过来的重新给一段可能还是存在用不了,使用网页的编写代码上面注意看匹配内容User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器//请求网页import requestsimport re //正则表达式 就是去不规则的网页里面提取有规律的信息headers = { User-Agent:存放浏览器里面的}response = requests.get_妹纸图爬虫

简单爬虫

  • 安装第三方库
  • 请求页面
  • 解析网页
  • 保存图片

今天深圳的晚上很冷,半夜就睡醒了,出去买点吃的难受的一批


说好的24小时呢?
开搞开搞

安装第三方库

安装第三方请求库(requests)
pip install requests

请求页面


请求成功了
存在特殊情况:请求失败
原因八成是网页知道我们是Python过来的不给我们请求。

这里教各路神仙去解决这个User-Agent的尴尬问题:


嗯…怎么看网页的啊?
啊Sir。来了不要催
(只好打马赛克了)

## 请求网页
import requests
headers={
    'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent
}
response = requests.get('https://www.vmgirls.com/12945.html')
print(response.request.headers)
print(response.text)

解析网页

需要使用 re库来进行正则匹配
找到我们的图片的位置

上面注意看匹配内容
然后进行解析(我们不是什么都需要匹配的,只是需要匹配href里面的内容)

## 请求网页
import requests
import re

headers = {
    'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent
}
response = requests.get('https://www.vmgirls.com/12945.html')#然后这里就吧上面的headers放进去
#response = requests.get('https://www.vmgirls.com/12945.html',headers=headers)
# print(response.request.headers)
# print(response.text)
html = response.text
#解析网页
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html) # (.*?) 意思就是匹配这个数据
print(urls)

保存图片

第一版本:(文件存在在当前的文件夹,没有创建出来分类)

User-Agent:请求对象   AppleWebKit:请求内核  Chrome浏览器
## 请求网页
import requests
import re
import time

headers = {
    'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent
}
response = requests.get('https://www.vmgirls.com/12945.html')
# print(response.request.headers)
# print(response.text)
html = response.text
#解析网页
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html)
print(urls)
# 保存图片
for url in urls:
    time.sleep(1) #睡眠一秒,别把别人网站查崩了
    file_name = url.split('/')[-1]
    response = requests.get(url) # 重新请求网站 图片地址就可以直接看了
    with open(file_name,'wb') as f: #'wb':二进制 file_name:图片名称
        f.write(response.content)

图片就有了…

有问题?有点…不可能数据啥子的都放这里吧…

现在处理

## 请求网页
import requests
import re
import time
import os

headers = {
    'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent
}
response = requests.get('https://www.vmgirls.com/12945.html')
# print(response.request.headers)
# print(response.text)
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 href="(.*?)" alt=".*?" title=".*?">',html) # (.*?) 意思就是匹配这个数据
# print(urls)
# 保存图片
for url in urls:
    time.sleep(1)
    file_name = url.split('/')[-1]
    response = requests.get(url)
    with open(dir_name +'/' + file_name,'wb') as f: #'wb':二进制 file_name:图片名称
        f.write(response.content)

网络觉得你的爬取速度…

2020.6.22更新一波:Python连接数据库,为后期相关操作做准备
Python连接数据库以及组合拳
更新的再次提交,CSDN没有通过,小编只好把图片去掉了

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服