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

网站维护的要求包括哪些优化工作流程

网站维护的要求包括哪些,优化工作流程,wordpress对接小程序,安阳住房与城乡建设局官方网站爬取穷游网的景点评论数据,使用selenium爬取edge浏览器的网页文本数据。 同程的评论数据还是比较好爬取,不像大众点评需要你登录验证杂七杂八的,只需要找准你想要爬取的网页链接就能拿到想要的文本数据。 这里就不得不提一下爬取过程中遇到的…

爬取穷游网的景点评论数据,使用selenium爬取edge浏览器的网页文本数据。

同程的评论数据还是比较好爬取,不像大众点评需要你登录验证杂七杂八的,只需要找准你想要爬取的网页链接就能拿到想要的文本数据。

这里就不得不提一下爬取过程中遇到的问题,就是关于无头模式和有头模式,首先介绍一下什么是无头模式和有头模式:

无头模式和有头模式是指网络爬虫在执行过程中是否显示浏览器的界面。

有头模式是指网络爬虫在执行过程中会显示浏览器的界面,可以看到爬取过程中的页面加载、点击等操作,可以进行人工干预和调试。有头模式一般用于开发和调试阶段,便于观察爬虫的执行情况。

无头模式是指网络爬虫在执行过程中不显示浏览器的界面,所有的操作都在后台进行,不会干扰用户的正常使用。无头模式一般用于实际的爬取任务,可以提高爬取效率,减少资源消耗。

总的来说,无头模式和有头模式的区别在于是否显示浏览器界面,有头模式适用于开发和调试阶段,无头模式适用于实际的爬取任务。

无头模式的问题:

1、无头模式下缺少浏览器信息,或默认填充的浏览器信息带有爬虫痕迹,会被识别为机器人而导致爬虫执行失败。

2、页面动态加载时,有时会根据页面size来布局控件,如果size太小会出现控件加载失败情况。

所以经常爬到二十多页的时候就突然报错“找不到元素无法点击”这种的错误。又或者是爬到三十多页又告诉我找不到元素,某某列表为空,就很烦。😠 😡 😤

为了解决这个问题我的尝试:

1:延长页面的存在的时间,让服务器充分响应,并且模拟手下拉的操作,让下面没显示出来的界面加载出来:

def to_the_buttom():js = 'document.getElementsByClassName("search-body left_is_mini")[0].scrollTop=10000'driver.execute_script(js)
def to_the_top():js = "var q=document.documentElement.scrollTop=0"  # 滚动到最上面driver.execute_script(js)
def to_deal_question():driver.implicitly_wait(10)time.sleep(3)to_the_buttom()time.sleep(3)
def to_view():driver.implicitly_wait(10)to_the_buttom()time.sleep(3)button = driver.find_element(By.XPATH, '//*[@id="commentModule"]/div[6]/ul/li[7]/a')driver.execute_script("arguments[0].scrollIntoView();", button)

2:使用Selenium库中的webdriver来实例化一个Microsoft Edge浏览器的驱动程序,并设置了一些选项。

opt = Options()
opt.add_argument("--headless")
opt.add_argument("window-size=1920x1080")
opt.add_argument('--start-maximized')
driver = webdriver.Edge(options=opt)
url = 'https://you.ctrip.com/sight/daocheng342/11875.html'
driver.get(url)
# driver.maximize_window()

然后就可以愉快把评论全拿到手了,这里是穷游网木格措的评论。

最后我还用jieba库做了一下词条分析,想看看这个景点大家的关注点都是些什么。

全部代码:

爬取数据板块:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.common.keys import Keys
from requests import request
from selenium.webdriver.support import ui
from selenium.webdriver.support.wait import WebDriverWaitdriver = webdriver.Edge()
url = 'https://place.qyer.com/poi/V2UJZ1FgBzZTYVI2/'
driver.implicitly_wait(10)
driver.get(url)
driver.maximize_window()
def to_the_buttom():js="var q=document.documentElement.scrollTop=100000"driver.execute_script(js)with open("mu_ge_cuo_2.txt", "a", encoding='utf-8') as f:for x in range(1,6):driver.implicitly_wait(10)to_the_buttom()time.sleep(3)to_the_buttom()for i in range(1,11):text=driver.find_element(By.XPATH, "/html/body/div/div/div[2]/div/div[4]/div/div[2]/div[1]/div[2]/div[2]/ul/li[{}]/div/p".format(i)).textf.write(text)f.write("\n")print(x)button = driver.find_element(By.XPATH, '/html/body/div/div/div[2]/div/div[4]/div/div[2]/div[1]/div[2]/div[2]/div[1]/div/a[{}]'.format(x))button.click()
# with open("mu_ge_cuo_2.txt", "a", encoding='utf-8') as f:
#     for x in range(6,83):
#         driver.implicitly_wait(10)
#         to_the_buttom()
#         time.sleep(3)
#         to_the_buttom()
#         for i in range(1,11):
#             text=driver.find_element(By.XPATH, "/html/body/div/div/div[2]/div/div[4]/div/div[2]/div[1]/div[2]/div[2]/ul/li[{}]/div/p".format(i)).text
#             f.write(text)
#             f.write("\n")
#         print(x)
#         button = driver.find_element(By.XPATH, '/html/body/div/div/div[2]/div/div[4]/div/div[2]/div[1]/div[2]/div[2]/div[1]/div/a[6]')
#         button.click()time.sleep(100000)
driver.close()

分析数据提取词条板块:

import jieba
stopwords = [line.strip() for line in open('hit_stopwords.txt',encoding='utf-8').readlines()]
stopwords.append("\n")
# print(stopwords)
f1=open('mu_ge_cuo_2.txt','r',encoding='utf-8')
code=[]
for i in f1.read().strip().split(' '):words = jieba.lcut(i)code+=words
d={}
for word in code:if word not in stopwords:d[word]=d.get(word,0)+1
ls=list(d.items())
ls.sort(key=lambda s:s[-1],reverse=True)
print(ls)
f1.close()
with open("mu_ge_cuo_2_results.txt", "a", encoding='utf-8') as f:for i in range(20):f.write(str(ls[i]))f.write("\n")

里面的stopwords是为了去除标点符号、特殊字符和语气助词,在主页的其他文章里有提供。

如果这篇文章能对您有所帮助的话,还望点个赞赞呀~😘

http://www.dinnco.com/news/80070.html

相关文章:

  • 怎么用程序做网站seo网站编辑优化招聘
  • 什么网站收录快深圳关键词优化怎么样
  • 二级域名做城市分网站网络营销策划方案3000字
  • 公司想做个自己的网站怎么做的杭州疫情最新消息
  • 加强网站建设 实施政务公开百度seo不正当竞争秒收
  • 最低成本做企业网站 白之家网络推广的优化服务
  • wordpress分类目录用别名seo点击排名器
  • 网站个人博客怎么做天津企业seo
  • 网站注册系统源码社区推广
  • 网站建设加推广广州关键词seo
  • 如何做h5简历制作网站浙江百度查关键词排名
  • 顺德做pc端网站阿里指数查询
  • 做网站必备志鸿优化设计答案网
  • 如何在网站后台备份数据库郑州网络推广软件
  • 建设电商平台搜索引擎优化的方法与技巧
  • 担路网如何快速做网站搜索引擎营销的实现方法
  • 企业查询信息系统泰州seo
  • 厦门企业自助建站系统附近的电脑培训班在哪里
  • 企业营销网站建设公司抖音竞价推广怎么做
  • 新手做网站如何赚钱短视频精准获客系统
  • 做网站要多长时间软文标题大全
  • 网站模板用什么做google chrome官网下载
  • 区块链开发工程师招聘太原seo排名外包
  • 专业网站开发价格免费独立站自建站网站
  • 搜狗怎么做网站百度快速排名培训
  • 那个网站做效果图电脑配置品牌网站建设解决方案
  • 怎么区分网站是模板做的网络营销学什么
  • 公司建一个网站百度账号
  • 龙岩人大网站西安seo站内优化
  • 云南房产网站建设域名注册万网