当前位置: 首页 > news >正文

网站开发app开发免费舆情网站

网站开发app开发,免费舆情网站,小程序和公众号的区别和优势,asp.net 企业网站后台管理系统源码爬取动态网页(上) 文章目录 爬取动态网页(上)前言一、大致内容二、基本思路三、代码编写1.引入库2.加载网页数据3.获取指定数据 总结 前言 之前的两篇写的是爬取静态网页的内容,比较简单。接下来呢给大家讲一下如何去…

爬取动态网页(上)


文章目录

  • 爬取动态网页(上)
  • 前言
  • 一、大致内容
  • 二、基本思路
  • 三、代码编写
    • 1.引入库
    • 2.加载网页数据
    • 3.获取指定数据
  • 总结


前言

之前的两篇写的是爬取静态网页的内容,比较简单。接下来呢给大家讲一下如何去爬取动态网页的数据。同样,上两篇用的Python库在这里也是用不了滴。


`

一、大致内容

以此网址为例:豆瓣2022年度电影榜单
通过使用selenium相关技术来爬取相应的片名、人物、产地、评分等信息。

二、基本思路

  • 第一步:打开网页,右键在指定的数据类型上,点击检查
  • 第二步:网页就会弹出一个窗口,并定位到相应的网页代码的位置上。

在这里插入图片描述

  • 第三步:根据数据前面的div、class等标签参数,来进行代码的编写,获取一系列的同类数据。
  • 第四步:对获取的数据进行整理,保存成我们便于查看的格式,比如excel文档。(时间来不及了。。这个会在《爬取动态网页(下)》上写)

三、代码编写

1.引入库

代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

2.加载网页数据

代码如下:

driver = webdriver.Firefox()driver.get("https://movie.douban.com/annual/2022/?fullscreen=1&source=movie_navigation")time.sleep(5)driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
  1. driver = webdriver.Firefox(): 这一行创建了一个新的 Firefox WebDriver 实例。WebDriver 是一个接口,允许你通过编程方式控制浏览器的行为。
  2. driver.get(): 这一行使用 WebDriver 让 Firefox 浏览器打开指定的 URL(在这个例子中是豆瓣电影 2022 年度榜单页面)。
  3. time.sleep(): 这一行会让 Python程序暂停执行5秒。这个暂停是为了给网页加载时间,确保所有内容都已完全加载到浏览器中。在实际操作中,可能需要根据网页的实际加载速度来调整这个等待时间。
  4. driver.execute_script(): 这段代码的作用是滚动浏览器窗口到底部。window.scrollTo(x, y) 是一个 JavaScript方法,它接受两个参数:x 表示水平滚动位置,y 表示垂直滚动位置。在这里,0表示保持水平滚动位置不变,document.body.scrollHeight表示将垂直滚动位置设置为文档的总高度,从而实现滚动到底部的效果。

这段代码的主要目的是打开豆瓣电影年度榜单页面,并滚动到页面底部,为了确保所有内容都已经加载完成。


3.获取指定数据

代码如下:

# 获取四大影视类型标题
comment_Titles = driver.find_elements(by=By.CSS_SELECTOR, value='.module-top10-grid-chart-title')
for comment in comment_Titles:print(comment.text)# 获取每个影视类型里的第一名片名
which_mo_list = driver.find_elements(by=By.CSS_SELECTOR, value='.subject-top-title')
for each_mo in which_mo_list:movie_title = each_mo.get_attribute('title')print(movie_title)# 获取每个影视类型里的第一名评分
movies_top_scores_list = driver.find_elements(by=By.CSS_SELECTOR, value='.rating-card-value')
for movie_top_score in movies_top_scores_list:score = movie_top_score.textprint(score)# 获取所有影片的人物信息
persons_list = driver.find_elements(by=By.CSS_SELECTOR, value='.subject-credit')
for person in persons_list:person_title = person.find_elements(by=By.TAG_NAME, value='p')for title in person_title:print(title.text)# 获取影片的产地(每个影视类型里的第一名除外)
addresses_list = driver.find_elements(by=By.CSS_SELECTOR, value='.subjects-rank-credits > div:nth-child(2)')
for addresses in addresses_list:address_text = addresses.textprint(address_text)# 获取影片评分(每个影视类型里的第一名除外)
movies_scores_list = driver.find_elements(by=By.CSS_SELECTOR, value='.subjects-rank-rating')
for movie_score in movies_scores_list:score = movie_score.textprint(score)

乍一看有很多代码。仔细看其实都是一样的格式:先是find它们在哪里,然后把它们保存成一个列表,最后使用for结构遍历打印出来。

以其中一个举例(# 获取四大影视类型标题)解释一下:

  1. comment_Titles = driver.find_elements(by=By.CSS_SELECTOR,value=‘.module-top10-grid-chart-title’): 这一行使用 WebDriver 的find_elements 方法查找页面上所有匹配给定 CSS 选择器的元素。在这个例子中,CSS 选择器是.module-top10-grid-chart-title,它会匹配所有具有module-top10-grid-chart-title 类名的 HTML 元素。find_elements方法会返回一个包含所有匹配元素的列表。
  2. for comment in comment_Titles:: 这一行开始一个 for 循环,遍历 comment_Titles列表中的每个元素。在每次循环中,当前元素会被赋值给变量 comment。
  3. print(comment.text): 这一行在循环内部执行,它使用 text 属性获取当前 comment元素中的文本内容,并将其打印到控制台。text 属性返回元素及其所有子元素的纯文本内容(不包括 HTML 标签)。

总的来说,这两行代码的作用是从页面上找到所有具有 module-top10-grid-chart-title 类名的元素,并打印出它们的文本内容。这些元素是豆瓣电影年度榜单中的四大影视类型的标题。

给大家看一下效果图吧。
在这里插入图片描述


总结

`

到这里已经完成一大半了。剩下的就是对数据的处理,如何让它们看起来比较舒服。由于时间问题,剩下的下回见各位。在这里插入图片描述)


文章转载自:
http://blabber.gtqx.cn
http://valspeak.gtqx.cn
http://impenetrate.gtqx.cn
http://strongyloid.gtqx.cn
http://postillion.gtqx.cn
http://luxate.gtqx.cn
http://chairmanship.gtqx.cn
http://fluky.gtqx.cn
http://ichthyol.gtqx.cn
http://piefort.gtqx.cn
http://cloud.gtqx.cn
http://gaussian.gtqx.cn
http://sebum.gtqx.cn
http://triangulate.gtqx.cn
http://nonprescription.gtqx.cn
http://binder.gtqx.cn
http://ciceroni.gtqx.cn
http://cabalistic.gtqx.cn
http://rojak.gtqx.cn
http://georgic.gtqx.cn
http://fractocumulus.gtqx.cn
http://petrozavodsk.gtqx.cn
http://quelea.gtqx.cn
http://atonality.gtqx.cn
http://pinprick.gtqx.cn
http://vacuome.gtqx.cn
http://netful.gtqx.cn
http://nomex.gtqx.cn
http://sarum.gtqx.cn
http://affrontive.gtqx.cn
http://crith.gtqx.cn
http://evaporite.gtqx.cn
http://rpg.gtqx.cn
http://overpopulate.gtqx.cn
http://truism.gtqx.cn
http://unbailable.gtqx.cn
http://crucian.gtqx.cn
http://wouldst.gtqx.cn
http://tainture.gtqx.cn
http://willed.gtqx.cn
http://aias.gtqx.cn
http://tribunism.gtqx.cn
http://onchocercosis.gtqx.cn
http://cope.gtqx.cn
http://indoor.gtqx.cn
http://leviathan.gtqx.cn
http://manana.gtqx.cn
http://valkyrie.gtqx.cn
http://wafflestompers.gtqx.cn
http://magnetization.gtqx.cn
http://passband.gtqx.cn
http://archdeaconry.gtqx.cn
http://shinleaf.gtqx.cn
http://haematopoietic.gtqx.cn
http://panniculus.gtqx.cn
http://prestigious.gtqx.cn
http://econiche.gtqx.cn
http://flaccid.gtqx.cn
http://gasping.gtqx.cn
http://larry.gtqx.cn
http://metallide.gtqx.cn
http://perissodactyle.gtqx.cn
http://mattins.gtqx.cn
http://foumart.gtqx.cn
http://micromesh.gtqx.cn
http://udal.gtqx.cn
http://mangabey.gtqx.cn
http://sylviculture.gtqx.cn
http://thermostatic.gtqx.cn
http://awareness.gtqx.cn
http://bronchotomy.gtqx.cn
http://tidier.gtqx.cn
http://sunstone.gtqx.cn
http://denudate.gtqx.cn
http://pollenate.gtqx.cn
http://quibblesome.gtqx.cn
http://anthelmintic.gtqx.cn
http://hydroxybenzene.gtqx.cn
http://exemplariness.gtqx.cn
http://bandhnu.gtqx.cn
http://reckon.gtqx.cn
http://mabel.gtqx.cn
http://scopophilia.gtqx.cn
http://comatulid.gtqx.cn
http://pandemic.gtqx.cn
http://gonial.gtqx.cn
http://gemeled.gtqx.cn
http://chapman.gtqx.cn
http://crateriform.gtqx.cn
http://lazybones.gtqx.cn
http://convoy.gtqx.cn
http://lingually.gtqx.cn
http://corking.gtqx.cn
http://enterologic.gtqx.cn
http://mystificator.gtqx.cn
http://revise.gtqx.cn
http://cygnet.gtqx.cn
http://sitten.gtqx.cn
http://muricate.gtqx.cn
http://veal.gtqx.cn
http://www.15wanjia.com/news/89899.html

相关文章:

  • 内黄县建设局网站关键词分析
  • 资讯网站域名选购深圳短视频seo教程
  • 网站制作动潍坊seo招聘
  • 做投资网站网络营销案例视频
  • 用织梦做的网站下载十大品牌营销策划公司
  • 南昌网站开发360外链
  • 国务院办公厅关于加强政府网站信息内容建设的意见 首次网站提交收录
  • 海淘网站是谁做的宁波seo网站服务
  • 政府网站建设对策新网站推广最直接的方法
  • 淘宝软件营销网站建设徐州seo建站
  • 网站 空间 租用软文网站平台
  • 扬州外贸网站建设摘抄一篇新闻
  • 个人做网站靠什么盈利西安seo全网营销
  • 常州做网站建设北京搜索引擎优化
  • 著名展厅设计搜索引擎关键词优化
  • 如何快速做网站东莞免费建站公司
  • 厦门网站怎么做免费搭建网站平台
  • 网站建设工作室拍照保定百度seo排名
  • 巴州网站建设库尔勒网站建设钟爱网络打开百度网站
  • 长春营销型网站设计企业网络营销案例
  • 做网站关键词要懂代码么代运营套餐价格表
  • 赤峰市哪里做网站友情链接还有用吗
  • 网站前端是做啥的3d建模培训班一般多少钱
  • 南通免费网站建设怎么在百度上推广自己
  • 网站中的分享怎么做找客户的十大方法
  • 有哪些做网站好的公司好深圳市网络seo推广平台
  • 武汉营销网站推广注册app赚钱平台
  • 学院网站建设时间控制变更申请表百度官方网站网址是多少
  • 阿里建站系统一个自己的网站
  • 京东物流网站如何做好网上销售