切词 去停用词 正则留取中文, 记住这个pattern里面的-之间不能有空格哈哈
奇怪的错误 需要设置环境变量:
import os
KMP_DUPLICATE_LIB_OK=TRUE
爬虫:
1.服务器返回的数据形式:JSON HTML 二进制
2.保存方式:数据库 硬盘 and so on
3.抓包:f12 network 查看请求
HTTP 的请求方式有好几种:GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE;不过最常见的就是 GET 和 POST 请求
4.Urllib:
request:就是用它来发起请求
error:就可以用它来进行异常处理
parse:parse模块就是用来解析我们的 URL 地址的,比如解析域名地址啦,URL指定的目录等
robotparser:这个用的就比较少了,它就是用来解析网站的 robot.txt
可以传入的参数主要有 3 个
urllib.request.
urlopen
(url, data=None, [timeout, ]*)
第一个 url 就是我们请求的链接,比如我们刚刚就请求百度
第二个参数 data,就是专门给我们 post 请求携带参数的,比如我们在登录的时候可以把用户名密码封装成 data 传过去,在这里的 data 的值我们可以用 byte 的类型传递
第三个参数 timeout 就是设置请求超时时间,用于如果等好久服务器都没有给我们返回数据
这就是 request 的 urlopen 主要用法。
模拟手机登录逼乎:
from urllib import request,parse import ssl if __name__ == '__main__': context = ssl._create_unverified_context() url = 'https://biihu.cc//account/ajax/login_process/' headers = { #假装自己是浏览器 'User-Agent':' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', } dict = { 'return_url': 'https://biihu.cc/', 'user_name': 'xiaoshuaib@gmail.com', 'password': '123456789', '_post_type': 'ajax', } data = bytes(parse.urlencode(dict), 'utf-8') req = request.Request(url, data=data, headers=headers, method='POST') response = request.urlopen(req, context=context) print(response.read().decode('utf-8'))
5.Requests:
python爬虫04 | 长江后浪推前浪,Reuqests库把urllib库拍在沙滩上
6正则:
bert拼接没看懂,接来下看书了,看SVM PCA