python实现批量自动访问站点URL并获取内容,自动模拟打开电脑端及移动端URL访问站点,打开URL页面获取页面内容
问题描述:假设目前有多个网站URL,需要检查各站点keyword,description是否正常设置,如果人工逐个打开URL访问比较耗时,故采用python模拟电脑端和移动端自动打开网站URL访问,并记录下访问的结果,最终人工查看结果,对其中未正常配置的站点进行单独处理。
准备工作:计算机已正常安装python,selenium,BeautifulSoup且能正常运行python程序,读者可自行搜索安装方法,在此不做赘述。
1.模拟电脑端循环打开URL检查示例代码(只提供基础逻辑处理演示,读者可根据自己的实际业务需求进行编写)
from bs4 import BeautifulSoup
from selenium import webdriver
import datetime
now = datetime.datetime.now()
fname=now.strftime('%Y%m%d%H%M')+".txt" /*生成txt结果文档*/
def main(url):
driver = webdriver.Chrome()
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html)
title = soup.title.string
description = soup.find(attrs={"name": "description"})['content']
keywords = soup.find(attrs={"name": "keywords"})['content']
# print('title:', title)
# print('description:', description)
# print('keywords:', keywords)
with open('G:\\FinalOutput\\'+fname, 'a', encoding='utf-8') as file: /*设置txt文件保存路径并写入,其中参数a表示追加内容,如果为w,则为覆盖写入,此处用到循环,故设置为a参数*/
file.write(
"网址是:" +url + "\n" + "标题是 :" + title + "\n" + "描述是:" + description + "\n" + "关键词是:" + keywords + "\n\n") /*输出内容设置编辑*/
urls = ['http://www.aaa.com', 'http://www.bbb.com’, 'http://www.ccc.com’] /*需要访问的URL地址,需要加http或https,并能正常访问*/
for url in urls: /*循环打开访问URL*/
if __name__ == '__main__':
main(url)
2.模拟移动端循环打开URL检查示例代码(只提供基础逻辑处理演示,读者可根据自己的实际业务需求进行编写)
from selenium import webdriver
import datetime
now = datetime.datetime.now()
fname = now.strftime('%Y%m%d%H%M') + "MOBILE.txt" /*生成txt结果文档*/
def main(url):
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone X'}) /*模拟iPhone X浏览*/
driver = webdriver.Chrome(options=options)
driver.get(url)
page_source = driver.page_source
resp = page_source[20:600] /*截取字符串,范围为20到600*/
with open('G:\\FinalOutput\\' + fname, 'a', encoding='utf-8') as file: /*设置txt文件保存路径并写入,其中参数a表示追加内容,如果为w,则为覆盖写入,此处用到循环,故设置为a参数*/
file.write("网址是:" + url + "\n" + "结果是:" + resp + "\n\n") /*输出内容设置编辑*/
urls = ['https://www.ggg.com./', 'http://www.fff.com/'] /*需要访问的URL地址,需要加http或https,并能正常访问*/
for url in urls: /*循环打开访问URL*/
if __name__ == '__main__':
main(url)
python实现批量自动访问站点URL并获取内容,自动模拟打开电脑端及移动端URL访问站点,打开URL页面获取页面内容的更多相关文章
- from appium import webdriver 使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)
使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium) - 北平吴彦祖 - 博客园 https://www.cnblogs.com/stevenshushu/p ...
- 使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)
抖音很火,楼主使用python随机爬取抖音视频,并且无水印下载,人家都说天下没有爬不到的数据,so,楼主决定试试水,纯属技术爱好,分享给大家.. 1.楼主首先使用Fiddler4来抓取手机抖音app这 ...
- 用python+selenium将腾讯首页今日话题的内容自动发表到自己cnblog里
目的:使用pyhton下的unittest单元测试框架并结合selenium的webdriver来实现将腾讯首页的今日话题下的内容自动发表达到自己的cnblog里. 思路:创建QQDailyTopic ...
- Python基于Python实现批量上传文件或目录到不同的Linux服务器
基于Python实现批量上传文件或目录到不同的Linux服务器 by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/rootpath_fo ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- Python爬虫实战三之实现山东大学无线网络掉线自动重连
综述 最近山大软件园校区QLSC_STU无线网掉线掉的厉害,连上之后平均十分钟左右掉线一次,很是让人心烦,还能不能愉快地上自习了?能忍吗?反正我是不能忍了,嗯,自己动手,丰衣足食!写个程序解决掉它! ...
- 【转】Python编程: 多个PDF文件合并以及网页上自动下载PDF文件
1. 多个PDF文件合并1.1 需求描述有时候,我们下载了多个PDF文件, 但希望能把它们合并成一个PDF文件.例如:你下载的数个PDF文件资料或者电子发票,你可以使用python程序合并成一个PDF ...
- python打造批量关键词排名查询工具
自己做站点的时候,都看看收录和关键词排名什么的,所以打造的这个批量关键词查询工具. #encoding:utf-8 import urllib,re,random,time,sys,StringIO, ...
- python虚拟环境 + 批量pip + 换源
python虚拟环境 + 批量pip + 换源 虚拟环境 曾经我是一个小白,不管运行什么项目都用一个环境,后来项目多了,有的是Django1.11的有的是Django2的,有的项目只能在3.6上运行, ...
- python脚本批量生成数据
在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...
随机推荐
- 助推乡村振兴,四川农担X中电金信大数据智能风控平台彰显“榜样的力量”
在2024年3月召开的两会上,政府工作报告首次提到了要大力发展科技金融.绿色金融.普惠金融.养老金融.数字金融,为深入推进金融高质量发展,走中国特色金融发展之路指明了方向.其中,四川农担作为一家专注 ...
- 鲲鹏cpu
cat /etc/openEuler-release sudo dmidecode -t processor |grep Version lscpu
- TheScope, Visibility and Lifetime of Variables
C language-- TheScope, Visibility and Lifetime of Variables 全局变量 普通全局变量 //file1 #include<stdio.h& ...
- Qt/C++音视频开发59-使用mdk-sdk组件/原qtav作者力作/性能凶残/超级跨平台
一.前言 最近一个月一直在研究mdk-sdk音视频组件,这个组件是原qtav作者的最新力作,提供了各种各样的示例demo,不仅限于支持C++,其他各种比如java/flutter/web/androi ...
- IM跨平台技术学习(十三):从理论到实践,详细对比Electron和Tauri的优劣
本文由京东技术王泽知分享,原题"基于Web的跨平台桌面应用开发",下文进行了排版和内容优化. 1.引言 近些年来,跨平台跨端一直是比较热门的话题,Write once, run a ...
- 微信团队分享:来看看微信十年前的IM消息收发架构,你做到了吗
本文由微信技术团队分享,原题"十年前的微信消息收发架构长啥样?",下文进行了排版和内容优化等. 1.引言 2023 年,微信及 WeChat 的 DAU(月活用户)达到 13.4 ...
- Kubernetes系列(三) - 通过Kubeadm部署kubernetes
目录 1. Kubeadm简介 2. 本次操作的机器配置 3. 部署步骤 3.1 准备工作 3.2 安装docker 3.3 安装kubeadm, kubectl, kubelet 3.4 maste ...
- Superset 用户集成完整方案(iframe方式)
本次集成方案经过个人测试,根据前面2个集成方案的资料,撰写,相关说明由于个人知识水平有限不一定理解准确,有错误的地方环境评论区评论: 1.用户集成方式: A系统用户,通过A的某个界面,iframe嵌入 ...
- 九集代码深度解析SpringBoot原理:笔记整理
手动注册Tomcat中的servlet容器 子父容器概念
- spandsp_start_dtmf的bug及修复
概述 freeswitch是一款简单好用的VOIP开源软交换平台. 之前的文章中介绍过DTMF从2833到inband的转换,其中inband到2833的转换使用了"spandsp_star ...