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

重庆网站制作那家好学网络运营需要多少钱

重庆网站制作那家好,学网络运营需要多少钱,网站一年续费多少钱,网络营销企业网站推广第三方库Selenium主要是用来抓取动态生成的网页数据,有些网站的内容要下拉网页才会动态加载,特别是那些使用javaScript渲染的内容。当然Selenium还可用于自动化浏览器操作,比如编写一个自动抢火车票的python脚本,这并不难实现。接…

        第三方库Selenium主要是用来抓取动态生成的网页数据,有些网站的内容要下拉网页才会动态加载,特别是那些使用javaScript渲染的内容。当然Selenium还可用于自动化浏览器操作,比如编写一个自动抢火车票的python脚本,这并不难实现。接下了我将通过用Selenium模拟用户的操作来抓取网页。

pip install selenium  # 这是下载Selenium的终端命令

        我使用的是edge浏览器,谷歌浏览器也是一样的,不过初始化webdriver用'driver = webdriver.chrome()',为了简便,我挑选在百度官网上去抓取一些表情包图片。同样我将这些步骤封装成了一个函数,不过因为爬取网页需要分析特定的网页结构,所以能够复用的地方有限,该函数只能用于百度官网,因为我也不确定其他网站的输入框input元素的id是不是"kw"。

        首先,我要模拟用户在百度官网上输入“表情包”到搜索框。search_box1.send_keys(search_name)该函数会将search_name的值传递给search_box1(这是获取的页面input输入框元素)。同时用函数search_box1.send_keys(Keys.RETURN)模拟用户的点击回车操作。
        这个函数有两个参数,第一个是搜索的内容,可以换成其他的,但因为该函数要抓取的是图片URL,所以范围也是有限。第二个是默认参数,默认值为'https://www.baidu.com'。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import timedef get_image_urls(search_name="表情包",url="https://www.baidu.com"):# 初始化 WebDriver(以 Edge 为例)driver = webdriver.Edge()driver.get(url)wait = WebDriverWait(driver, 10)search_box1 = wait.until(EC.element_to_be_clickable((By.ID, "kw")))search_box1.send_keys(search_name)  # 将值为"表情包"的字符串变量传递time.sleep(2) search_box1.send_keys(Keys.RETURN)  # 模拟用户输入回车

        在百度搜索内容时,默认会将搜索结果中的标题以<h3>标签显示。我这里定位到搜索结果的第一个,并用first_a.click()模拟用户点击链接跳转。但是要注意的是由于点击链接会跳转到新窗口,所以我们要用switch_to.windows来切换页面。由于本文旨在讨论Selenium的自动化操作,涉及爬虫的内容并不会很多,所以在接下来的抓取图片URL的操作,只是简单抓取可见的img标签,对于可能还未被加载的图片不在过多讨论。

     # 等待搜索结果的加载,并寻找第一个搜索结果first_h3 = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "h3")))print(first_h3.text)# 查找 h3 内部的第一个 a 标签first_a = first_h3.find_element(By.TAG_NAME, "a")  # 找到第一个子标签 atime.sleep(2) # 点击 a 标签以跳转first_a.click()# 等待一些时间以观察跳转效果(可选)time.sleep(2)driver.switch_to.window(driver.window_handles[1])  # 切换到新窗口

       因为我们访问的网站能够实现无限滚动加载,所以我们会在外部用while循环来控制下拉次数。并使用max_scrolls = 10和scroll_count = 0搭配使用来控制下拉次数为10次。

    # 这里将模拟用户下拉操作十次max_scrolls = 10scroll_count = 0while scroll_count < max_scrolls:last_height = driver.execute_script("return document.body.scrollHeight")driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")time.sleep(2)new_height = driver.execute_script("return document.body.scrollHeight")if new_height == last_height:breakscroll_count += 1img_tags = driver.find_elements(by=By.ID, value='imgid')print("找到的图像标签数:", len(img_tags))  # 打印找到的图像标签数量for img in img_tags:imgitems = img.find_elements(by=By.CLASS_NAME, value='imgitem')for item in imgitems:print(item.text)driver.quit()

        以上所有代码都是在函数get_image_urls()里,不过在while循环里调用了我们自己编写的滚动函数scroll_to_bottom(),这是模拟用户往下拉加载的函数,该函数在上面的程序中被调用。 

def scroll_to_bottom(driver):last_height = driver.execute_script("return document.body.scrollHeight")while True:# Scroll down to the bottomdriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")# Wait for new content to loadtime.sleep(2)  # 可以根据实际情况调整等待时间# Calculate new scroll height and compare with last heightnew_height = driver.execute_script("return document.body.scrollHeight")if new_height == last_height:break  # 如果没有新的内容加载,退出循环last_height = new_height

        本程序涉及使用url地址初始化一个浏览器实例,浏览器自动化操作使用send_keys()来模拟用户的输入以及按键(如回车键),同时使用click()函数来模拟用户点击链接,并用法都不难。以上程序在下载Selenium后就可以直接运行,如果有问题的欢迎在评论区留言!

http://www.yidumall.com/news/102009.html

相关文章:

  • 网站开发亿码酷流量百度荤seo公司
  • wordpress 开发指南网站排名优化公司
  • behance设计网站官网网页搜索优化
  • 中国宁波网站广东优化疫情防控措施
  • 橘子建站是什么有哪些网络营销公司
  • 湖北网站建设平台应用商店aso优化
  • 做网站申请个体户淘宝seo 优化软件
  • 苏州建设有限公司seo刷网站
  • 做网站需要什么样的电脑配置电商热门关键词
  • wordpress设置标题字体厦门seo网站推广优化
  • 青岛高级网站建设服务bt磁力在线种子搜索神器下载
  • 上海百度做网站深圳搜狗seo
  • 毕业设计做网站选题深圳优化公司义高粱seo
  • 少儿编程免费网站郑州企业网站seo
  • 杭州建设厅官方网站石家庄关键词优化软件
  • 用c 做网站和数据库方法google store
  • 系统炸了我成了系统系统优化软件哪个好
  • 衡水做网站改版防疫测温健康码核验一体机
  • python库之web网站开发PPT域名被墙检测
  • 企业网站的建立特点是什么电子商务seo实训总结
  • 中国工程局人才招聘网奇零seo赚钱培训
  • 网站怎么做json数据百度竞价排名点击软件
  • 杭州网站建设的企业优化法治化营商环境
  • 本地佛山顺德网站建设seo网站推广简历
  • 德阳网站开发网络优化工程师吃香吗
  • 网页升级访问中自动跳转网站搜索优化官网
  • seo服务器多ip手机seo百度点击软件
  • 个人网站建设哪家好网站推广和网站优化
  • 摄影网站建设的意义网店推广方案范文
  • 做网站买虚拟服务器产品推广建议