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

网站收录查询代码制作网站的软件有哪些

网站收录查询代码,制作网站的软件有哪些,公司网站备案电话,网站建设课程概要博客正文#xff08;包含详细注释#xff09; 引言 在爬虫技术领域#xff0c;处理动态加载的网页内容常常是一项挑战#xff0c;尤其是对于那些通过用户滚动或其他交互动态加载更多内容的网站。本文将介绍如何结合使用Selenium和Scrapy来有效处理这类网页。 初探Seleni…博客正文包含详细注释 引言 在爬虫技术领域处理动态加载的网页内容常常是一项挑战尤其是对于那些通过用户滚动或其他交互动态加载更多内容的网站。本文将介绍如何结合使用Selenium和Scrapy来有效处理这类网页。 初探Selenium与Scrapy的结合 首先我们探索如何使用Selenium在Scrapy中间件中处理动态加载内容的网页。关键在于模拟用户滚动行为以加载并捕获所有内容。 def process_response(self, request, response, spider):driver spider.driver# 检查请求的URL是否在我们的目标列表中if request.url in spider.page_url:driver.get(request.url) # 使用Selenium打开页面# 等待页面初步加载完成time.sleep(3) # 示例等待时间可能需要根据实际页面调整# 获取当前页面的高度last_height driver.execute_script(return document.body.scrollHeight)while True:# 滚动到页面底部driver.execute_script(window.scrollTo(0, document.body.scrollHeight);)# 等待页面可能出现的新内容加载time.sleep(3) # 重新获取新的页面高度new_height driver.execute_script(return document.body.scrollHeight)# 如果高度不再改变说明到达了页面底部if new_height last_height:breaklast_height new_height # 更新高度用于下次比较# 获取完整的页面源代码text driver.page_source# 创建新的HtmlResponse并返回return HtmlResponse(urlrequest.url, bodytext, encodingutf-8, requestrequest)# 如果URL不在目标列表中返回原始响应return response完整的Scrapy爬虫实例 下面是一个使用Selenium和Scrapy爬取网易新闻的示例。 import scrapy from selenium.webdriver import Chrome, ChromeOptions from selenium.webdriver.chrome.options import Optionsclass WySpider(scrapy.Spider):name wy # 爬虫名称start_urls [https://news.163.com/domestic/] # 起始URL# Selenium配置opt Options()opt.add_argument(--headless) # 添加headless参数指定浏览器在无界面模式下运行即没有用户界面或可视化界面的情况下。opt.add_argument(--disable-gpu) # 禁用GPU加速opt.add_argument(--window-size4000,1600) # 设置浏览器窗口大小opt.add_experimental_option(excludeSwitches, [enable-automation]) # 防止网站识别出自动化测试driver Chrome(optionsopt) # 创建Chrome驱动href_index [1, 2] # 指定要处理的链接索引page_url [] # 存储目标URL地址# 处理起始URL的响应def parse(self, resp, **kwargs):# 提取链接href_list resp.xpath(/html/body/div/div[3]/div[2]/div[2]/div/ul/li/a/href).extract()for i in range(len(href_list)):if i in self.href_index:# 如果链接在指定索引中添加到目标列表并发起请求self.page_url.append(href_list[i])yield scrapy.Request(urlhref_list[i], callbackself.parse_detail)# 处理获取的新闻类别链接def parse_detail(self, resp, **kwargs):# 提取详细页面的链接detail_url resp.xpath(/html/body/div/div[3]/div[3]/div[1]/div[1]/div/ul/li/div/div/div/div[1]/h3/a/href).extract()for url in detail_url:# 对每个详细新闻链接发起请求yield scrapy.Request(urlurl, callbackself.parse_detail_content)# 提取并处理新闻详细内容def parse_detail_content(self, resp, **kwargs):# 提取新闻标题title resp.xpath(//*[idcontain]/div[2]/h1/text()).extract_first()# 提取新闻内容con resp.xpath(//*[idcontent]/div[2]//text()).extract()con .join(con).strip()data {title: title, con: con} # 封装提取的数据print(data) # 打印数据yield data # 返回提取的数据使用场景 这种结合Selenium和Scrapy的方法适用于需要处理动态加载内容的网页如新闻网站、社交媒体平台等。 结语 通过结合Selenium和Scrapy我们可以有效地处理那些动态加载内容的网页这对于数据抓取和网络爬虫项目至关重要。希望这篇文章能够帮助您在面对类似的挑战时有所启发和帮助。
http://www.hkea.cn/news/14523697/

相关文章:

  • 健身房网站的建设情况中国房地产app下载安装最新版
  • 绥化网站建设公司wordpress正文页面
  • 沂水网站设计11个免费网站空间
  • 2345电影新网站模板甘肃住房和城乡建设局网站
  • 静态网站 服务器做母婴网站设计思路
  • 建设上海公司网站网站网页制作企业
  • 上海知名网站建信用门户网站建设专家评价
  • 开办网站备案一级做a免费体验区不用下载网站
  • 建设网站费用记入什么科目合伙建网站
  • 做物流网站计划别墅装修设计公司哪家好
  • 小学网站建设教程网页设计培训图片
  • 2002年做网站多少钱修改自豪地采用wordpress
  • 怎样搭建网站企业组网方案
  • seo按天计费软件赣州seo排名
  • 西安网站建设培训班网站兼容手机浏览器
  • 东莞专业网站设计建站公司WordPress如何添加cnzz
  • 网络设计网站动态域名可以建网站
  • 濮阳自适应网站建设洛阳又发现一例
  • 秦淮做网站价格都匀网站开发的公司
  • 什么网站的易用性做中介最好用的网站
  • 成品网站灬1688设计师网址导航网
  • 手机网站预约表单北京市建设工程质量监督网站
  • html5个人网站源码wordpress主题制作器
  • 做网站时无法上传图片公众号开发者密码怎么查看
  • 机关网站建设和运行情况汇报企业网页制作心得
  • 网站自己优化企业网站申请流程
  • 大连网页建站模板专业做网站的公司有哪些
  • 游戏网站开发运营的几个思路化工企业常用推广网站
  • 网站建设流费用百度关键词搜索量排行
  • 网站的建设步骤编程网站scratch网址