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

优采云 发布时间: 2022-04-03 19:10

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

  前言

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

  一、动态爬虫

  动态爬虫和静态爬虫最大的区别在于源代码与网页内容不同。动态爬虫可以抓包(即直接使用浏览器的F12抓包获取相关文件)

  二、使用步骤1.先通过网址找到你需要的

  

  截图如下(示例):按F12进入开发者模式,第二步点击左上角刷新重新加载内容,第三步在红框中选择需要的内容,然后你可以使用“预览”查看是否对应

  

  搜索无误后,在“Header”中找到“Request 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)

  总结

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线