Request爬取网站(seo.chinaz.com)百度权重的查询结果
一:脚本需求
利用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)百度权重的查询结果相关推荐
- Python爬虫实战系列(一)-request爬取网站资源
Python爬虫实战系列(一)-request爬取网站资源 python爬虫实战系列第一期 文章目录 Python爬虫实战系列(一)-request爬取网站资源 前言 一.request库是什么? 二 ...
- nginx下禁止垃圾蜘蛛爬取网站,只保留百度蜘蛛和搜狗360神马等
nginx下禁止垃圾蜘蛛爬行网站,只保留百度蜘蛛和搜狗360神马等.访客浏览器打开则出现404错误页,进行跳转.站群引流比较方便,也能规避一些小白参考自己的站群内容. 以宝塔面板为例 if ($htt ...
- 网站SEO优化的百度权重是有什么用
在网站SEO优化日常工作中"百度权重"是经常提到的一个概念.汉语对权重一词的解释:一个相对的概念,针对某一指标而言.某一指标的权重是指该指标在整体评价中的相对重要程度.对于全世界成 ...
- python 第一行 报错_初学Python-只需4步,爬取网站图片
很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来.我:行,那我们卖什么呀?领导:看 ...
- python如何爬取网站所有目录_用python爬虫爬取网站的章节目录及其网址
认识爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...
- 爬取千库网ppt_初学Python-只需4步,爬取网站图片(附py文件)
很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来. 我:行,那我们卖什么呀? 领导 ...
- 四个步骤教你爬取网站图片,新手必学
很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来. 我:行,那我们卖什么呀? 领导 ...
- python 图片文件_初学Python-只需4步,爬取网站图片(附py文件)
很多人学习Python很重要的一个原因是,可以很简单的把一个网站的数据爬下来. 尤其是做我们这一行,产品经理,电商行业. 领导:弄一个买卖游戏周边商品的交易APP出来. 我:行,那我们卖什么呀? 领导 ...
- Python爬虫(1)------爬取网站图片
初学爬虫的学习流程 环境 python 3.6 使用 urlib库进行爬取内容 熟悉爬虫 首先对百度进行爬取 # -*- coding: utf-8 -*- import urllib.request ...
最新文章
- 课时 18-Kubernetes 调度和资源管理(子誉)
- Error: Could not find or load main class CLASS的解决方法
- linux-Centos7安装python3并与python2共存
- baidu的服务器数据里面装的都是垃圾!
- ERROR 6: GEOS support not enabled.
- 在WebStorm环境中给nodejs项目中添加packages
- The mbstring extendsion is missing,Please check you PHP configuration
- conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’解决
- HCIE-Security Day17:防火墙双机热备实验(五):防火墙旁挂交换机,交换机静态路由引流
- 基于Colaboratory平台使用VGGNet网络进行图片分类
- TSP、MTSP问题遗传算法详细解读及python实现
- Java项目:SSM酒店客房管理系统
- Linux设备管理(一)_kobject, kset,ktype分析
- C++ nth_element 介绍
- android 拼音搜索联系人分析与实现(支持多音字,支持T9搜索,支持Qwerty搜索)
- xml文件c语言读取函数,IDL读取XML文件
- 2022下半年教资已经开始注册,1分钟看懂证件照审核要求
- matlab读取excel表作图,读取Excel表格数据进行绘图-如何将excel表格中大量数据导入matlab中并作图...
- 【MySQL】全国省市县三级联动SQL语句—城市SQL(二)
- 传奇世界手游活人最多服务器,传奇世界手游:堪比神话般的万人攻城战,罪恶苍穹行会力敌全服!...