Python 网络爬虫--简单的模拟登录

和获取网页上的信息不同,想要进行模拟登录还需要向服务器发送一些信息,如账号、密码等等。

模拟登录一个网站大致分为这么几步:

1.先将登录网站的隐藏信息找到,并将其内容先进行保存(由于我这里登录的网站并没有额外信息,所以这里没有进行信息筛选保存)

2.将信息进行提交

3.获取登录后的信息

先给上源码

# -*- coding: utf-8 -*-

import requests


def login():
    session = requests.session()
    # res = session.get('http://my.its.csu.edu.cn/').content

    login_data = {
        'userName': '3903150327',
        'passWord': '136510',
        'enter': 'true'
    }
    session.post('http://my.its.csu.edu.cn//', data=login_data)
    res = session.get('http://my.its.csu.edu.cn/Home/Default')
    print(res.text)


login()


一、筛选得到隐藏信息

进入开发者工具(按F12),找到其中的Network后,手动的先进行一次登录,找到其中的第一个请求,在Header的底部会有一个data的数据段,这个就是登录所需的信息。如果想对其中的隐藏信息进行修改
先获取网页Html的内容
res = session.get('http://my.its.csu.edu.cn/').content
再通过正则表达式筛选内容 

二、将信息进行提交

找到源码中提交表单所需要的action,和method
使用
session.post('http://my.its.csu.edu.cn/(这里就是提交的action)', data=login_data)
该方法提交信息

三、获取登录后的信息

信息提交后模拟登录就成功了
接下来就可以获取登录后的信息了
res = session.get('http://my.its.csu.edu.cn/Home/Default').content

首先,为了访问QQ空间相册,我们需要登录QQ账号。可以使用Selenium模拟用户登录QQ,然后使用BeautifulSoup解析相册页面,获取相册中的图片链接。 以下是大致的实现步骤: 1. 安装Selenium和BeautifulSoup模块。 2. 使用Selenium模拟用户登录QQ,进入相册页面。 ```python from selenium import webdriver # 创建Chrome浏览器对象 browser = webdriver.Chrome() # 打开QQ登录页面 browser.get("https://mail.qq.com/") # 执行模拟登录操作,具体实现可以参考Selenium文档或其他相关教程 # ... # 进入相册页面 browser.get("http://user.qzone.qq.com/123456789/album") ``` 3. 使用BeautifulSoup解析相册页面,获取相册中的图片链接。 ```python from bs4 import BeautifulSoup # 获取相册页面的HTML源代码 html = browser.page_source # 使用BeautifulSoup解析HTML源代码,获取相册中的图片链接 soup = BeautifulSoup(html, "html.parser") img_links = soup.find_all("img", class_="c_photo_img_img") # 打印图片链接 for link in img_links: print(link["src"]) ``` 4. 下载图片。 ```python import requests # 下载图片 for i, link in enumerate(img_links): img_url = link["src"] response = requests.get(img_url) with open(f"photo_{i}.jpg", "wb") as f: f.write(response.content) ``` 以上只是大致的实现步骤,具体的实现过程可能还需要根据实际情况进行调整。同时,需要注意的是,访问QQ空间相册需要登录QQ账号,因此需要注意账号安全问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值