爬取需要登录的网站数据

爬去某大学某学生的课程表
先查看该网站的request方法和数据表单
request方法是get
这里写图片描述
表单头为u和p
这里写图片描述

import urllib.request
import http.cookiejar
import urllib.parse
from urllib.request import urlopenurl="https://gsdb.bjtu.edu.cn/client/login/"
agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.113 Chrome/60.0.3112.113 Safari/537.36'cookie=http.cookiejar.CookieJar()
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))headers = {'User-Agent':agent}
postdata=urllib.parse.urlencode({'u':'XXXXXX','p':'××××××'})
postdata=postdata.encode('UTF-8')request=urllib.request.Request(url,postdata,headers)
result=opener.open(request)
print(result.read().decode('UTF-8'))

登录成功~
这里写图片描述

登录后就可以访问用户的各个网页了。

result=opener.open('https://gsdb.bjtu.edu.cn/course_selection/select/schedule/')
print(result.read().decode('utf-8'))

爬取课程表

pattern=re.compile('<tr>(.*?)</tr>',re.S)
items=re.findall(pattern,pagecode)
for item in items:pat=re.compile('<td>(.*?)</td>',re.S)its=re.findall(pat,item)for it in its:print(it)

运行成功!

分布运行
cookie.py 把登录网站的cookie信息保存到cookie.txt里。

import urllib.request
import re
import http.cookiejar
import urllib.parsefilename='cookie.txt'
#cookie=http.cookiejar.CookieJar(filename)
cookie=http.cookiejar.MozillaCookieJar(filename)
url="https://gsdb.bjtu.edu.cn/client/login/"
agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.113 Chrome/60.0.3112.113 Safari/537.36'opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
headers = {'User-Agent':agent}
postdata=urllib.parse.urlencode({'u':'xxxxxx','p':'xxxxxx'})
postdata=postdata.encode('UTF-8')request=urllib.request.Request(url,postdata,headers)
result=opener.open(request)
print(result.read().decode('utf-8'))
cookie.save(ignore_discard=True,ignore_expires=True)

spider.py加载cookie.py模块,从cookie.txt里面加载出cookie信息,这样就可以模拟登录。

import urllib.request
import re
import http.cookiejar
import cookiecookie=cookie=http.cookiejar.MozillaCookieJar()
cookie.load('cookie.txt',ignore_discard=True,ignore_expires=True)
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
result=opener.open('https://gsdb.bjtu.edu.cn/course_selection/select/schedule/')
# print(result.read().decode('UTF-8'))
pagecode=result.read().decode('utf-8')
pattern=re.compile('<tr>(.*?)</tr>',re.S)
items=re.findall(pattern,pagecode)
for item in items:pat=re.compile('<td>(.*?)</td>',re.S)its=re.findall(pat,item)for it in its:print(it)
运行成功!

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39499.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3 模拟登录并爬取表格数据!

本节主要内容有&#xff1a; 通过requests库模拟表单提交通过pandas库提取网页表格 上周五&#xff0c;大师兄发给我一个网址&#xff0c;哭哭啼啼地求我&#xff1a;“去&#xff01;把这个网页上所有年所有县所有作物的数据全爬下来&#xff0c;存到Access里&#xff01;”…

chatgpt赋能python:用Python画龙:SEO技巧大放送

用Python画龙&#xff1a;SEO技巧大放送 Python是一种非常流行的编程语言&#xff0c;它可以用于编写软件、网站、数据分析和绘图等方面。而本文将为大家介绍如何在Python中使用Matplotlib库来画一条龙&#xff0c;并探讨如何通过SEO技巧来提高你的网站在搜索引擎排名中的权重…

chatgpt赋能Python-python3gui

Python3 GUI- 让你的应用程序更酷炫 随着技术的发展&#xff0c;图形用户界面(Graphical User Interface, GUI)已经成为软件开发过程中不可或缺的一部分。Python3是一个用于快速开发应用程序的强大编程语言&#xff0c;支持多种GUI库。本文将为您介绍Python3 GUI的一些基本概念…

chatgpt赋能python:Python滚动输出详解:如何实现动态的输出效果

Python滚动输出详解&#xff1a;如何实现动态的输出效果 在实际的Python编程中&#xff0c;经常需要将数据输出到控制台并对其进行展示&#xff0c;而滚动输出则是其中重要的一种方式。滚动输出能够让程序输出的信息实时地更新&#xff0c;提高可读性和用户体验。 什么是滚动…

想学前沿技术,苦于英语视频看不懂?有它就行了!

众所周知&#xff0c;作为一名程序员&#xff0c;如何快速实现职业生涯的快速发展甚至弯道超车&#xff0c;很多时候就看您对英文资料的掌握&#xff0c;比如&#xff1a;各种技术文档&#xff0c;大牛博客&#xff0c;英文书籍&#xff0c;还有视频。 如今国内火热的各种技术&…

GPT-4 IDEA神仙插件亲测帮助亿万用户解决痛点!

最近&#xff0c;Intellij IDEA的插件商店推出了一款新的插件——Bito&#xff0c;据说使用了GPT-4和ChatGPT来帮助开发人员编写代码&#xff0c;并且下载量已经达到了65K以上。 这款插件可以将GPT-4和ChatGPT引入IDE来大大提高开发人员的效率。它使用了OpenAI的模型&#xff0…

企业微信(二)——请在企业微信客户端打开链接

文章目录 目的问题现象一、PC端二、移动端总结 目的 总结在使用企业微信过程中碰到的问题&#xff0c;并记录解决办法。 问题现象 如下图&#xff0c;在接入企业微信接口进行免密登录功能实现的时候&#xff0c;访问企业微信的oauth2.0接口的时候出现如下提示 一、PC端 PC…

【企业微信实现免密登录以及发送消息(企业内部应用)】

创建应用&#xff1a; 首先是注册企业微信&#xff0c;没有企业信息个人也能注册&#xff0c;个人注册企业微信后无法认证&#xff0c;如果有开发第三方应用的需求就必须进行企业认证&#xff0c;如果只是开发企业内部应用&#xff0c;则无需注册也OK。 这里需要注意一下可见…

wechat_0010-企业微信,把自己的项目接入企业微信

1、一个可以公网访问的接入项目 2、需要一个企业微信账号 企业微信官网&#xff1a;https://work.weixin.qq.com/ 3、策略文件 报illegal key size异常时见 博客&#xff1a;http://www.cnblogs.com/shirui/p/7411735.html 4、微信的加密解密包 下载链接&#xff1a;http://…

我们用Windows官方跑了跑Linux GUI应用程序,不愧是“胶水操作系统”

梦晨 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 现在&#xff0c;Windows不仅是最好的Linux发行版&#xff0c;还是最好的Linux桌面了。 怎么回事&#xff1f; 原来是Windows官方的Linux子系统&#xff08;WSL&#xff09;&#xff0c;终于支持Linux GUI了&#xff01; 也…

用了一下国产免费 AI 代码补全工具,真不错!

作者&#xff1a;去伪存真 原文&#xff1a;https://juejin.cn/post/7216992973418217533 前言 ChatGPT把AI带火了&#xff0c;我就在想&#xff0c;能用它做点什么呢&#xff0c;总不能只让它给我们带来焦虑&#xff0c;也要让我们从科技浪潮中分得一点红利吧。一番查找下来&a…

AI设计 | 如何让零基础小白在3分钟内利用AI人工智能设计Logo?

作为一个缺乏基础知识的初学者&#xff0c;你或许会认为Logo设计很难。但是&#xff0c;AI人工智能这个神奇的工具可以帮助你轻松地设计出自己的Logo&#xff0c;让整个过程变得愉快且简单。只要按照我的步骤并跟随我&#xff0c;你可以成为一位杰出的Logo设计师&#xff0c;不…

Tushare接口+LSTM模型预测股票走势

Tushare接口LSTM模型预测股票走势 Tushare ID&#xff1a;423115 Tushare接口优势以及使用方法 Tushare是一款国内使用较为热门的财经接口&#xff0c;数据源稳定不易出错&#xff0c;速度较快&#xff0c;能符合开发的需求&#xff0c;下面讲讲使用的基本方法。 注册账号 …

基于LSTM的对股票走势的预测

下图是基于LSTM的对股票走势的预测的结果 项目附件说明 本次实验项目文件有以下文件夹:stockPredict 文件夹。 1、根目录下存放使用的 python 代码。 2、data 文件夹下存放获取到的股票数据。 3、model 文件夹中包含已经训练好的模型。 4、img 文件夹中包含测试数据表现折线…

股票价、量走势图绘制

在证券投资分析领域中价、量走势分布图是投资者常用的一个参考方面。本案例主要介绍股票每日收盘价格、成交量的走势图以及月交易量分布饼图的绘制技能&#xff0c;并进一步介绍了子图的绘制方法 。 今有股票代码600000行情交易数据表&#xff08;trd.xlsx&#xff09;&#xf…

动态分析股票走势算法图,股票趋势预测算法

股票动态市盈率怎么计算出来的&#xff1f; 谈论起市盈率&#xff0c;这可真是有人爱&#xff0c;有人恨&#xff0c;有人认为有用&#xff0c;也认为无用。这个市盈率到底有没有用&#xff0c;咋用&#xff1f; 在为大家介绍我使用市盈率买股票的方法之前&#xff0c;先和大…

(个人简历一)用纯html写个人简历

效果 实现代码 用纯table实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>简历</title></head><body><table border"1" cellspacing"0" align"center"><t…

一位优秀前端工程师的简历应该怎么写?

​如今前端市场的从业人员很多且鱼龙混杂&#xff0c;真正的高手大牛非常稀缺&#xff0c;呈典型的金字塔形状&#xff0c;所以前端的招聘也是很多猎头及HR的痛点所在。那么在这种混乱的环境中&#xff0c;如何才能让自己突出重围&#xff1f;需要实力&#xff0c;更需要技巧。…

简历解析步骤(第一步)技术与实现(1)识文字,取信息

简历解析步骤&#xff08;第一步&#xff09;技术与实现&#xff08;1&#xff09;识文字&#xff0c;取信息 在上篇文章中&#xff0c;我们讲解了简历解析的理论。一般情况下&#xff0c;我们会以图片或文档的形式收到简历&#xff0c;为了实现解析&#xff0c;首先需要将其中…

实战简历编写,打造硬核敲门砖

实战简历编写&#xff0c;打造硬核敲门砖 1.自我介绍2. 技能描述3.工作经历4.项目经历4.1 商城4.2 进销存 自我评价教育经历 1.自我介绍 简历开篇就是介绍自己&#xff0c;忌长篇大论&#xff0c;那么点时间&#xff0c;相信你自己作为面试官&#xff0c;也不想去看阅读理解 …