大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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)
总结
以上就是今天要讲的内容,本文仅仅简单介绍了动态爬虫的方法,希望可以有所帮助
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159472.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...