栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习12--爬虫

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习12--爬虫

学习视频链接:
https://www.bilibili.com/video/BV1gu411X7P6?p=18&vd_source=b425cf6a88c74ab02b3939ca66be1c0d

1、使用request发送get请求


输入别的搜索词时,url栏query值变为输入内容,可发现通过改变query值查询不同内容

处理一个小反爬

网站检测到发出请求的不是正常的浏览器,所以不给数据

看一下自己手动发送的这个请求中的user-agent是啥

放到代码里

否则默认的用户信息是:

2、使用request发送post请求

可以发现,此时的参数并没有放在url上面

参数往往是在form data里面


要把post的url全盘复制过来,不管后面都跟着些什么符号

返回获取的json数据
下面对json数据进行解码:

用resp.text是返回的字符串,用resp.json返回的是字典,可以从里面一层一层地拿数据

3、参数的get请求

发现数据是从这个url加载出来的

在headers中找到这个url的名字,?前是这个普通url的名字,?后是参数

参数:

可以与上面的一一对应

因为是get请求,所以参数都会拼到url里面
可以通过代码print(resp.request.url)来查看

4、正则表达式




5、数据解析

提取出所需要的数据

  • re模块
    python内置模块
  • find拿下所有匹配到的内容,返回列表、迭代器
  • search只取到第一个匹配到的数据
  • match从开头进行匹配,开头若没有则就是none
  • compile预加载 使程序不用反复加载
  • 实例

    用括号把想要单独提取的内容括起来

    给每一组匹配的内容分别起名,并提取

    找到要提取的内容,开头是什么,结尾是什么,中间用正则表达式拼起来
6、爬取实例

发现要爬取的信息就在源代码中,所以通过requests.get().text拿到的页面源代码里面含有这些数据

  1. 拿到页面源代码

    确定是get
  2. 编写正则,提取页面数据
    找到要取出的部分、两个电影内容的分界点

    可以先从更小的部分入手,如果成功取出,就继续



    【坑】.是除了换行符号之外任意的符号,但是可以看到源代码中很多换行符号。python中有可以让.匹配换行符的方法。

    下面补充正则


    注意


    如法炮制……

    去掉年份前的空白
  3. 保存数据



    但是只提取了第一页的25条

    每一页的参数不同

    加一个循环,改变参数,可以提取出全部页数的内容
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004824.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号