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脚本批量生成数据
在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...
随机推荐
- 会话丢失-NGINX配置之underscores_in_headers
1.描述问题NGINX代理某个web服务时,单机情况下也出现不停的要求认证的情况 初步分析去掉NGINX代理,直接访问服务,未出现上述情况: 进一步分析:查看经过NGINX的请求和直接访问服务请求区别 ...
- [转]CMake学习笔记(一)基本概念介绍、入门教程及CLion安装配置
原文链接:CMake学习笔记(一)基本概念介绍.入门教程及CLion安装配置
- 为什么 .NET8线程池 容易引发线程饥饿
一:背景 1. 讲故事 最近时间相对比较宽裕,多写点文章来充实社区吧,这篇文章主要还是来自于最近遇到的几例线程饥饿(Task.Result)引发的一系列的反思和总结,我觉得.NET8容易引发饥饿的原因 ...
- vue实现自定义音乐播放器
项目中遇到了,让实现一个音乐播放器的功能.修改其样式要求自定义,切需要有,进度条,时间,开关,应用于H5需要兼容ios与android.简单看一下如图播放器 完成代码 audioCom.vue < ...
- Solution Set -「LOCAL」冲刺省选 Round X
\(\mathscr{Summary}\) 时间利用效率? 同学,你的效率呢? 我真不知道中途几个小时干了啥,我也不知道我实在划水.神游还是真的在自闭想题. 虽然真实考场肾上腺素不会允 ...
- 谈谈flutter的线程
本文同步发布于公众号:移动开发那些事谈谈flutter的线程 刚接触flutter的同学肯定会对fluter所谓的单线程架构很蒙逼,因为这与我们学开发时,各种语言里的多线程的介绍有点出入,而且手机的C ...
- 为你的Blazor程序加入本地化多语言功能
本地化 本地化是为给定语言和地区定制应用程序的过程. BootstrapBlazor 组件允许您将其 UI 元素转换为所需的语言.这包括按钮.过滤器操作符属性等文本.组件内部默认使用当前请求 UI 文 ...
- ASP 代码示例,可以生成一个8位随机字符串由字母和数字组成
ChatGP回答的: 下面是一个 ASP 代码示例,可以生成一个8位随机字符串由字母和数字组成: ```Function generateRandomString(length) dim chars, ...
- 基于Tablestore打造亿量级订单管理解决方案
一.方案背景 订单系统存在于各行各业,如电商订单.银行流水.运营商话费账单等,是一个非常广泛.通用的系统.对于这类系统,在过去十几年发展中已经形成了经典的做法.但是随着互联网的发展,以及各企业对数据的 ...
- Superset 用户集成完整方案(iframe方式)
本次集成方案经过个人测试,根据前面2个集成方案的资料,撰写,相关说明由于个人知识水平有限不一定理解准确,有错误的地方环境评论区评论: 1.用户集成方式: A系统用户,通过A的某个界面,iframe嵌入 ...