一:脚本需求

利用Python3查询网站权重并自动存储在本地数据库(Mysql数据库)中,同时导出一份网站权重查询结果的EXCEL表格

数据库类型:MySql

数据库表单名称:website_weight

表单内容及表头设置:表头包含有id、main_url(即要查询的网站)、website_weight(网站权重)

要查询的网站:EXCEL表格

二:需求实现

一:利用openpyxl模块解析excel文件,将查询的网站读取到一个列表中保存

# 解析excel文件,取出所有的url
def get_urls(file_path):wb = load_workbook(file_path)sheet = wb.activeurls = []for cell in list(sheet.columns)[1]:if cell != sheet['B1']:urls.append(cell.value)return wb, urls

二:分析请求发送,伪造请求,取得HTML页面

# 伪造请求,取得html页面
def get_html(url):# 定义http的请求Headerheaders = {}  # random.randint(1,99) 为了生成1到99之间的随机数,让UserAgent变的不同。
    headers['User-Agent'] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537." + str(random.randint(1, 99))# Referer地址使用待查询的网址headers['Referer'] = "http://seo.chinaz.com/" + url + "/"html = ''try:html = requests.get("http://seo.chinaz.com/" + url + "/", headers=headers, timeout=5).textexcept Exception:passreturn html

三:分析HTML页面,利用BeautifulSoup模块提取数据

# 利用BeautifulSoup模块从html页面中提取数据
def get_data(html, url):if not html:return url, 0soup = bs(html, "lxml")p_tag = soup.select("p.ReLImgCenter")[0]src = p_tag.img.attrs["src"]regexp = re.compile(r'^http:.*?(\d).gif')br = regexp.findall(src)[0]return url, br

四:数据库连接配置,并获取游标

# 连接数据库
def get_connect():conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='seotest',charset="utf8")# 获取游标对象cursor = conn.cursor()return conn, cursor

五:主程序逻辑编写

if __name__ == "__main__":#命令行执行脚本文件,获取excel文件路径file_path = sys.argv[1]#获取URL列表和excle工作簿wb, urls = get_urls(file_path)#获取数据库连接和游标conn, cursor = get_connect()#获取工作簿当前工作sheetsheet = wb.active#数据库插入语句sql_insert = '''insert into website_weight(main_url, website_weight) values (%s, %s)'''for row, url in enumerate(urls):if not url: continuehtml = get_html(url)data = get_data(html, url)# 插入数据到数据库
        cursor.execute(sql_insert, data)# 插入数据到Excel表中cell = sheet.cell(row=row + 2, column=3)cell.value = data[1]# 终端打印插入的数据print(data)conn.commit()conn.close()wb.save(file_path)wb.close()# cmd命令:python3 F:\算法与结构\网站权重.py F:\website.xlsx

三:脚本运行及其实现结果

CMD执行

数据库:

excel文件写入:

转载于:https://www.cnblogs.com/li1992/p/9863056.html

Request爬取网站(seo.chinaz.com)百度权重的查询结果相关推荐

  1. Python爬虫实战系列(一)-request爬取网站资源

    Python爬虫实战系列(一)-request爬取网站资源 python爬虫实战系列第一期 文章目录 Python爬虫实战系列(一)-request爬取网站资源 前言 一.request库是什么? 二 ...

  2. nginx下禁止垃圾蜘蛛爬取网站,只保留百度蜘蛛和搜狗360神马等

    nginx下禁止垃圾蜘蛛爬行网站,只保留百度蜘蛛和搜狗360神马等.访客浏览器打开则出现404错误页,进行跳转.站群引流比较方便,也能规避一些小白参考自己的站群内容. 以宝塔面板为例 if ($htt ...

  3. 网站SEO优化的百度权重是有什么用

    在网站SEO优化日常工作中"百度权重"是经常提到的一个概念.汉语对权重一词的解释:一个相对的概念,针对某一指标而言.某一指标的权重是指该指标在整体评价中的相对重要程度.对于全世界成 ...

  4. python 第一行 报错_初学Python-只需4步,爬取网站图片

    很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来.我:行,那我们卖什么呀?领导:看 ...

  5. python如何爬取网站所有目录_用python爬虫爬取网站的章节目录及其网址

    认识爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...

  6. 爬取千库网ppt_初学Python-只需4步,爬取网站图片(附py文件)

    很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来. 我:行,那我们卖什么呀? 领导 ...

  7. 四个步骤教你爬取网站图片,新手必学

    很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来. 我:行,那我们卖什么呀? 领导 ...

  8. python 图片文件_初学Python-只需4步,爬取网站图片(附py文件)

    很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来. 我:行,那我们卖什么呀? 领导 ...

  9. Python爬虫(1)------爬取网站图片

    初学爬虫的学习流程 环境 python 3.6 使用 urlib库进行爬取内容 熟悉爬虫 首先对百度进行爬取 # -*- coding: utf-8 -*- import urllib.request ...

最新文章

  1. 课时 18-Kubernetes 调度和资源管理(子誉)
  2. Error: Could not find or load main class CLASS的解决方法
  3. linux-Centos7安装python3并与python2共存
  4. baidu的服务器数据里面装的都是垃圾!
  5. ERROR 6: GEOS support not enabled.
  6. 在WebStorm环境中给nodejs项目中添加packages
  7. The mbstring extendsion is missing,Please check you PHP configuration
  8. conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’解决
  9. HCIE-Security Day17:防火墙双机热备实验(五):防火墙旁挂交换机,交换机静态路由引流
  10. 基于Colaboratory平台使用VGGNet网络进行图片分类
  11. TSP、MTSP问题遗传算法详细解读及python实现
  12. Java项目:SSM酒店客房管理系统
  13. Linux设备管理(一)_kobject, kset,ktype分析
  14. C++ nth_element 介绍
  15. android 拼音搜索联系人分析与实现(支持多音字,支持T9搜索,支持Qwerty搜索)
  16. xml文件c语言读取函数,IDL读取XML文件
  17. 2022下半年教资已经开始注册,1分钟看懂证件照审核要求
  18. matlab读取excel表作图,读取Excel表格数据进行绘图-如何将excel表格中大量数据导入matlab中并作图...
  19. 【MySQL】全国省市县三级联动SQL语句—城市SQL(二)
  20. 传奇世界手游活人最多服务器,传奇世界手游:堪比神话般的万人攻城战,罪恶苍穹行会力敌全服!...

热门文章

  1. 全球及中国润滑油市场产销规模及营销竞争分析报告2021-2027年
  2. 全球及中国不锈钢商用厨刀行业营销战略及未来发展趋势分析报告2022年版
  3. 配置windows驱动开发环境
  4. Java IO流之字符缓冲流
  5. 关于 JS 模块化的最佳实践总结
  6. 君士坦丁堡分叉引起的安全问题
  7. PHP易混淆函数的区分
  8. 如何获取真实的执行计划
  9. Windows Phone 二十、陀螺仪
  10. Transform.Rotate 旋转