关于部分动态爬虫「建议收藏」

关于部分动态爬虫「建议收藏」前言爬虫的动态处理方法(我用较为简单的一些网址举例比如豆瓣的热门电影)一、动态爬虫动态爬虫与静态爬虫的最大区别就是源代码与网页内容不同,动态爬虫可以通过抓包(就是直接利用浏览器的F12进行network抓包,获取相关对应的文件)二、使用步骤1.先通过网址找到需要的东西截图如下(示例):按F12进入开发者模式,第二步点击左上角刷新重新加载一下内容,第三步在红框里选取需要的内容,可以通过“预览”来查看是否对应查找正确之后然后在“标头”里找到“请求URL”以及“User-Agent”,把这些找到

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

爬虫的动态处理方法(我用较为简单的一些网址举例 比如豆瓣的热门电影)


一、动态爬虫

动态爬虫与静态爬虫的最大区别就是源代码与网页内容不同,动态爬虫可以通过抓包(就是直接利用浏览器的F12进行network抓包,获取相关对应的文件)

二、使用步骤

1.先通过网址找到需要的东西在这里插入图片描述

截图如下(示例):按F12进入开发者模式,第二步点击左上角刷新重新加载一下内容,第三步在红框里选取需要的内容,可以通过“预览”来查看是否对应在这里插入图片描述查找正确之后然后在“标头”里找到“请求URL”以及“User-Agent”,把这些找到后基本工作就差不多完成了

2.代码部分

先引入所需要的库
代码如下:

import re
import urllib.request
import pandas as pd

这是我常用的几个库

url=('https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&page_limit=50&page_start=0')
headers={ 
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36' }
requests=urllib.request.Request(url,headers=headers)
respon=urllib.request.urlopen(requests)
html=respon.read().decode('utf-8')

以上代码就是获取对应网页的内容
然后之后在对所需内容进行查找就行了。

3.全代码

url=('https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&page_limit=50&page_start=0')
headers={ 
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36' }
requests=urllib.request.Request(url,headers=headers)
respon=urllib.request.urlopen(requests)
html=respon.read().decode('utf-8')
photo=re.compile(r'"cover":"(.*?),"id"')
list1=re.findall(photo,html)
name=re.compile(r'"title":"(.*?)",')
list2=re.findall(name,html)
# print(html)
rat=re.compile(r'"rate":"(.*?),')
list3=re.findall(rat,html)
xx={ 
   '电影名':list2,'评分':list3}
df=pd.DataFrame(xx,index=range(1,51))
print(df)

总结

以上就是今天要讲的内容,本文仅仅简单介绍了动态爬虫的方法,希望可以有所帮助

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159472.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 礼仪或许就是尊重的还有一个说法——leo鉴书61

    礼仪或许就是尊重的还有一个说法——leo鉴书61

    2021年11月24日
    48
  • 在bash中export命令作用是什么_bash:no such file or directory

    在bash中export命令作用是什么_bash:no such file or directoryexport  export命令将会使得被export的变量在运行的脚本(或shell)的所有的子进程中都可用.  不幸的是,没有办法将变量export到父进程(就是调用这个脚本或shell的进程)中.  关于export命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且设置环境变量,让用户进程可以存取环境变量脚本不能export(导出)变量到它的父进程(p

    2025年9月4日
    5
  • 位运算符有哪些_或运算和异或运算

    位运算符有哪些_或运算和异或运算位运算符的计算主要用在二进制中。实际开发中也经常会遇到需要用到这些运算符的时候,同时这些运算符也被作为基础的面试笔试题。所以了解这些运算符对程序员来说是十分必要的。于此,记录下我所理解的运算符:如果以开关开灯论:有这样两个开关,0为开关关闭,1为开关打开。与(&)运算与运算进行的是这样的算法:0&0=0,0&1=0,1&0=0,1&1=1在与运算中两个开关是

    2022年10月10日
    3
  • git 更新代码到本地

    git 更新代码到本地正规流程gitstatus(查看本地分支文件信息,确保更新时不产生冲突)gitcheckout–[filename](若文件有修改,可以还原到最初状态;若文件需要更新到服务器上,应该先merge到服务器,再更新到本地)gitbranch(查看当前分支情况)gitcheckoutremotebranch(若分支为本地分支,则需切换到服务器的远程分支)git…

    2022年6月15日
    101
  • lrzsz的乱码问题[通俗易懂]

    lrzsz的乱码问题[通俗易懂]相信多数人都使用过lrzsz,它是一款在linux里可代替ftp上传和下载的程序。(来源:百度百科)lrzsz,它可以实现在windows和linux之间进行文件传输,有rz和sz两条命令。-rz:将windows上的文件传输到linux上。-sz:将linux上的文件传到windows上。在ubuntu16上lrzsz的安装:一条简单的命令即可apt-getinstalll…

    2022年6月23日
    51
  • 【面试】面试中经常遇到的Git 操作命令

    【面试】面试中经常遇到的Git 操作命令

    2022年2月20日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号