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

网站如何做会员登录页面广告开户

网站如何做会员登录页面,广告开户,.net做中英文网站,网站设计欣赏移动网页滚动功能实现 网页的滚动 如果需要对网页进行滑动操作,可以借助浏览器对象调用execute_script()方法来执行js语句,从而实现网页中的滚动下滑操作。 使用js语法实现网页滚动: # 根据x轴和y轴的值来定向滚动对应数值的距离 window.scrol…

网页滚动功能实现

网页的滚动
如果需要对网页进行滑动操作,可以借助浏览器对象调用execute_script()方法来执行js语句,从而实现网页中的滚动下滑操作。

使用js语法实现网页滚动:

# 根据x轴和y轴的值来定向滚动对应数值的距离
window.scrollTo(横向x轴的值,竖向y轴的值)# 当前页面x轴的值为0,y轴移动到底部
window.scrollTo(0,document.body.scrollHeight)# 页面滚动到固定的位置
document.documentElement.scrollTop=数值

使用案例

import time
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.get('https://www.baidu.com')# 通过ID定位搜索框元素
input_element = driver.find_element(By.ID, 'kw')# 在搜索框中输入搜索内容
input_element.send_keys('美女')# 定位百度一下的按钮元素
button_element = driver.find_element(By.ID, 'su')# 对百度一下的按钮元素进行点击
button_element.click()# 滑动网页前需要等待一段时间,否则不会生效
time.sleep(2)# 利用js来滚动对应数值的距离
driver.execute_script('window.scrollTo(0,1000)')# 拖动滚动条至底部
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')# 拖动滚动条到指定位置
driver.execute_script('document.documentElement.scrollTop=6000')# 等待搜索结果加载完毕
time.sleep(3)

当当网图书页分析

采集当当图书网中的书籍的相关信息,其中主要筛选书名和价格。
网页链接:
http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-1

网页分析:
如果想要抓取网站中的数据信息,需要先分析目标数据在网页中的展示方式。因为不同的网站的数据展
示方式不同,且相同网站的不同网页数据的展示方式也不尽相同,所以需要先确定具体情况。

网页中的数据要么是直接存放在 HTML 代码中,这种通过 XPath、正则表达式等方式可以筛选获取数
据。要么就是通过 Js 发送请求来展示数据的,这种就需要查找调用的 Js 接口,使用 JsonPath 筛选数
据。

判断方式可以通过Network(网络)中的Preview(预览)来查看是否有目标数据,如果有则代表数
据存放在 HTML 代码中,否则数据一般是在 Js 接口中。

滑动加载
在网页中加载大量数据时,网站为了提高网页的相应速度一般都会对数据进行分段加载,打开的网页只
会展示一部分数据信息,如果用户继续向下滑动页面,才会加载剩余的数据信息,从而提高用户的体
验。如果进入网页后直接使用 XPath 提取数据无法获取一页中的全部数据内容,就可以在 Selenium 中
模仿页面的滚动下滑操作,以保证抓取到当前网页中的全部图书信息。

当当图书单页抓取

import json
import time # 延迟模块
from lxml import etree # 解析html
from selenium import webdriver # 导入selenium# 1、创建浏览器对象并打开对应网页
driver = webdriver.Chrome()
driver.get('http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-1')# 2、设置浏览器窗口最大化,并延时等待数据加载完毕
driver.maximize_window()
time.sleep(2)# 3、设置滚动次数来模拟人的动作
for i in range(1, 4):# 滚动一次停留1秒time.sleep(1)# 每次循环滚动1000的距离driver.execute_script(f'document.documentElement.scrollTop={i * 1000}')# 4、获取当前页面的html代码
str_data = driver.page_source# 5、解析网页,筛选所有图书的元素节点
html = etree.HTML(str_data)
data_list = html.xpath('//ul[@class="bang_list clearfix bang_list_mode"]/li')# 6、遍历每本图书的标签信息
for data in data_list:# 从图书的标签中获取图书名字book_name = data.xpath('./div[@class="name"]/a/text()')[0]# 从图书的标签中获取图书价格book_price = data.xpath('./div[@class="price"]/p/span[@class="price_n"]/text()')[0]print(f'书名:{book_name} 价格:{book_price}')# 7、将书籍信息打包成一个字典数据book_dict = {'name': book_name, 'price': book_price}# 8、创建json文件来保存抓取到的图书数据with open('当当图书.json', 'a', encoding='utf-8') as file:# 将字典数据转换为json字符串,且中文不进行转码json_data = json.dumps(book_dict, ensure_ascii=False) + ',\n'# 将json数据写入到文件中file.write(json_data)time.sleep(3)

当当图书分页抓取

抓取一页数据后开始进行翻页,从而获取下一页的数据信息

import json
import time # 延迟模块
from lxml import etree # 解析html
from selenium import webdriver # 导入selenium
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options# 1、输入抓取书籍的页数
pages = int(input('请输入抓取的图书页数:'))# 2、创建浏览器对象设置无界面模式,并打开对应的网页
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
driver.get('http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-1')# 3、浏览器窗口最大化,并延时等待网页加载完毕
driver.maximize_window()
time.sleep(2)# 4、循环遍历抓取的页数
for i in range(pages):# 5、设置滚动次数来模拟人的动作for n in range(1, 4):# 滚动一次停留1秒time.sleep(1)# 每次循环滚动1000的距离driver.execute_script(f'document.documentElement.scrollTop={n * 1000}')# 6、获取当前页面的html代码str_data = driver.page_source# 7、解析网页,筛选图片元素节点html = etree.HTML(str_data)data_list = html.xpath('//ul[@class="bang_list clearfixbang_list_mode"]/li')# 8、遍历每本图片的标签信息for data in data_list:# 从图书的标签中获取图书名字book_name = data.xpath('./div[@class="name"]/a/text()')[0]# 从图书的标签中获取图书价格book_price =data.xpath('./div[@class="price"]/p/span[@class="price_n"]/text()')[0]print(f'书名:{book_name} 价格:{book_price}')# 9、将书籍信息打包成一个字典数据book_dict = {'name': book_name, 'price': book_price}# 10、创建json文件来保存抓取到的图书数据with open('当当图书.json', 'a', encoding='utf-8') as file:# 将字典数据转换为json字符串,且中文不进行转码json_data = json.dumps(book_dict, ensure_ascii=False) + ',\n'# 将json数据写入到文件中file.write(json_data)# 11、定位翻页标签,并点击该标签来实现翻页功能element = driver.find_element(By.XPATH,'//li[@class="next"]/a')element.click()# 12、翻页后等待3秒time.sleep(3)
http://www.hengruixuexiao.com/news/30802.html

相关文章:

  • 个人简历word可编辑沧州网站seo公司
  • 网站开发论文结论如何推广app
  • 流程设计网站想要推广网页
  • 中国建设银行网站快速查询口碑营销名词解释
  • 专业做网站建设公seo具体优化流程
  • 做网站的服务器用什么 系统好南宁百度seo排名公司
  • wordpress商业授权价格seo优化一般包括
  • 星巴克vi设计分析四川自助seo建站
  • 做货代用什么网站找客户昆明自动seo
  • 服务专业的网站建设公司黑帽seo技术培训
  • 公司域名查询网站百度联盟广告
  • 一起做网站17怎么下单潍坊seo网络推广
  • 襄阳网站建设兼职正规seo关键词排名哪家专业
  • 公司网站备案资料中国企业100强
  • 猎场第几集做的网站推广竞价排名什么意思
  • 中国公路建设在哪个网站公示青岛新闻最新今日头条
  • 產品定制网站开发百度推广产品有哪些
  • wordpress备案号格式宁波seo教程
  • 网站开发html php自己做网站网页归档
  • 温州如何进行网站推广百度百科词条
  • 做网站文字编辑工作好不好seo网络培训班
  • 网络渠道有哪些福州百度快速优化
  • 网站建设和郑州整站关键词搜索排名技术
  • 网络营销战略规划seo云优化是什么意思
  • 国内用JSP做的网站有哪些电子邮件营销
  • 天元建设集团有限公司法人代表重庆seo整站优化报价
  • 网站独立ip如何做301重定向成都专业seo公司
  • 百度关键词工具入口深圳网络seo推广
  • 寻找杭州做网站软件人北京关键词优化报价
  • 网站底部备案号代码百度答主招募入口官网