写在前面的话
网上的教程都太简单了(代码又太难了),我摸索了好一阵。所以这是一个特别啰嗦的教程,每一步都有截图。
整个流程:
确保你的库都全了
用账号密码登入网页
取读炼句信息
清洗数据
保存数据到Excel
附完整代码
代码运行界面
老规矩:安装库
import requests
import json
import re
import xlwt
确认一下,你有没有requests和xlwt的库,没有的话,装一下
如果不装,代码运行不起来,你双击.py文件,就直接闪退了
如果你在调试中运行,那会报错
安装`requests`的界面如下
账号密码登入
基本步骤:
(1)获取网址,得到【URL】
(2)输入账号密码,得到【data】
(3)构建Request Headers,得到【headers】
(4)登入网页
(1)URL
首先,网页类型分为两种,静态和动态的
静态页面
动态页面
非结构化数据:HTML
结构化数据:json,xml等
处理方式:正则表达式,xpath, beautifulsoup4
处理方式:直接转化为python类型
以扇贝网为例,浏览器为360极速浏览器
网址:
https://web.shanbay.com/web/account/login
扇贝网里面,部分网页是静态的,部分是动态的
右击“审查元素”,或者F12,打开开发人员工具
点击“Network”,把Preserve Log勾选上,在左下角那个框里输入“login”(表示只看登入信息)
输入账号密码,登入网页
登入后,显示如下
补充,请求方式Request Method一般有两种,GET和POST
GET: 请求的URL会附带查询参数
POST: 请求的URL不会附带查询参数
postUrl = 'https://apiv3.shanbay.com/bayuser/login'
(2)包含账号密码的data
刚刚那个界面,往下滑到最后
我们看到,请求是Request Payload,里面包含了我们账号密码的信息
还有一种方式是Form Data,具体区别可参考
HTTP请求中的form data和request payload的区别
我们这里就讲Request Payload,现在扇贝用这个
PayloadData = {
'account': "1********9",
'code_2fa': "",
'password': "Z*************6"
}
(3)headers
还是刚刚那个界面,网上翻一点,就能看到Request Header,我们选取其中部分信息,构造一个头
我们选