Python 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.active
 urls = []
 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的请求Header
 headers = {}
 # 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).text
 except Exception:
 pass
 return html

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

# 利用BeautifulSoup模块从html页面中提取数据
def get_data(html, url):
 if not html:
 return url, 0
 soup = 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()
 #获取工作簿当前工作sheet
 sheet = wb.active
 #数据库插入语句
 sql_insert = '''insert into website_weight(main_url, website_weight) values (%s, %s)'''

 for row, url in enumerate(urls):
 if not url: continue
 html = 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文件写入:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ajax+node+request爬取网络图片的实例(宅男福利)

    注:本文只讨论技术不涉及商业,如有侵权请告知,未经本人同意转载后果自负! 本文是通过浏览器端ajax,node端request-json进行爬取"尤果网"部分图片资源,纯属技术方面兴趣,不涉及商业方面: 先上图: 如果没有node基础请自行学习~ 获取图片原理:通过request请求html文件,利用正则匹配图片路径获取到当前页面图片的数组,发送到浏览器端,进行展示: 1.安装request-json (cnpm i request-json --save) 2.安装express(c

  • Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】

    本文实例讲述了Python3爬虫爬取百姓网列表并保存为json功能.分享给大家供大家参考,具体如下: python3爬虫之爬取百姓网列表并保存为json文件.这几天一直在学习使用python3爬取数据,今天记录一下,代码很简单很容易上手. 首先需要安装python3.如果还没有安装,可参考本站python3安装与配置相关文章. 首先需要安装requests和lxml和json三个模块 需要手动创建d.json文件 代码 import requests from lxml import etree

  • Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)

    背景说明 感觉微信公众号算得是比较难爬的平台之一,不过一番折腾之后还是小有收获的.没有用Scrapy(估计爬太快也有反爬限制),但后面会开始整理写一些实战出来.简单介绍下本次的开发环境: python3 requests psycopg2 (操作postgres数据库) 抓包分析 本次实战对抓取的公众号没有限制,但不同公众号每次抓取之前都要进行分析.打开Fiddler,将手机配置好相关代理,为避免干扰过多,这里给Fiddler加个过滤规则,只需要指定微信域名mp.weixin.qq.com就好:

  • 使用python爬取抖音视频列表信息

    如果看到特别感兴趣的抖音vlogger的视频,想全部dump下来,如何操作呢?下面介绍介绍如何使用python导出特定用户所有视频信息 抓包分析 Chrome Deveploer Tools Chrome 浏览器开发者工具 在抖音APP端,复制vlogger主页地址, 比如: http://v.douyin.com/kGcU4y/ , 在PC端用chrome浏览器打卡,并模拟手机,这里选择iPhone, 然后把复制的主页地址,放到浏览器进行访问,页面跳转到 https://www.iesdouy

  • python requests爬取高德地图数据的实例

    如下所示: 1.pip install requests 2.pip install lxml 3.pip install xlsxwriter import requests #想要爬必须引 from lxml import html #这个是用于页面爬取 import xlsxwriter#操作Excel表格库 workbook = xlsxwriter.Workbook('E:/test/test.xlsx')# 新建的Excel表格文档路径 worksheet = workbook.ad

  • python3使用requests模块爬取页面内容的实战演练

    1.安装pip 我的个人桌面系统用的linuxmint,系统默认没有安装pip,考虑到后面安装requests模块使用pip,所以我这里第一步先安装pip. $ sudo apt install python-pip 安装成功,查看PIP版本: $ pip -V 2.安装requests模块 这里我是通过pip方式进行安装: $ pip install requests 运行import requests,如果没提示错误,那说明已经安装成功了! 检验是否安装成功 3.安装beautifulsou

  • Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】

    本文实例讲述了Python3实现爬虫爬取赶集网列表功能.分享给大家供大家参考,具体如下: python3爬虫之爬取赶集网列表.这几天一直在学习使用python3爬取数据,今天记录一下,代码很简单很容易上手. 首先需要安装python3.如果还没有安装,可参考本站前面关于python3安装与配置相关文章. 首先需要安装request和BeautifulSoup两个模块 request是Python的HTTP网络请求模块,使用Requests可以轻而易举的完成浏览器可有的任何操作 pip insta

  • Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析

    一:脚本需求 利用Python3查询网站权重并自动存储在本地数据库(Mysql数据库)中,同时导出一份网站权重查询结果的EXCEL表格 数据库类型:MySql 数据库表单名称:website_weight 表单内容及表头设置:表头包含有id.main_url(即要查询的网站).website_weight(网站权重) 要查询的网站:EXCEL表格 二:需求实现 一:利用openpyxl模块解析excel文件,将查询的网站读取到一个列表中保存 # 解析excel文件,取出所有的url def ge

  • Python爬虫爬取百度搜索内容代码实例

    这篇文章主要介绍了Python爬虫爬取百度搜索内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 搜索引擎用的很频繁,现在利用Python爬虫提取百度搜索内容,同时再进一步提取内容分析就可以简便搜索过程.详细案例如下: 代码如下 # coding=utf8 import urllib2 import string import urllib import re import random #设置多个user_agents,防止百度限制I

  • 用Python实现爬取百度热搜信息

    目录 前言 库函数准备 数据爬取 网页爬取 数据解析 数据保存 总结 前言 何为爬虫,其实就是利用计算机模拟人对网页的操作 例如 模拟人类浏览购物网站 使用爬虫前一定要看目标网站可刑不可刑 :-) 可以在目标网站添加/robots.txt 查看网页具体信息 例如对天猫  可输入  https://brita.tmall.com/robots.txt 进行查看 User-agent 代表发送请求的对象 星号*代表任何搜索引擎 Disallow 代表不允许访问的部分 /代表从根目录开始 Allow代

  • Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例

    本文实例讲述了Python实现爬取百度贴吧帖子所有楼层图片的爬虫.分享给大家供大家参考,具体如下: 下载百度贴吧帖子图片,好好看 python2.7版本: #coding=utf-8 import re import requests import urllib from bs4 import BeautifulSoup import time time1=time.time() def getHtml(url): page = requests.get(url) html =page.text

  • python实现爬取百度图片的方法示例

    本文实例讲述了python实现爬取百度图片的方法.分享给大家供大家参考,具体如下: import json import itertools import urllib import requests import os import re import sys word=input("请输入关键字:") path="./ok" if not os.path.exists(path): os.mkdir(path) word=urllib.parse.quote(w

  • 利用python批量爬取百度任意类别的图片的实现方法

    利用python批量爬取百度任意类别的图片时: (1):设置类别名字. (2):设置类别的数目,即每一类别的的图片数量. (3):编辑一个txt文件,命名为name.txt,在txt文件中输入类别,此类别即为关键字.并将txt文件与python源代码放在同一个目录下. python源代码: # -*- coding: utf-8 -*- """ Created on Sun Sep 13 21:35:34 2020 @author: ydc """

  • python爬虫爬取某站上海租房图片

    对于一个net开发这爬虫真真的以前没有写过.这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSoup.python 版本:python3.6 ,IDE :pycharm.其实就几行代码,但希望没有开发基础的人也能一下子看明白,所以大神请绕行. 第三方库首先安装 我是用的pycharm所以另为的脚本安装我这就不介绍了. 如上图打开默认设置选择Project Interprecter,双击pip或者点击加

  • Python爬虫爬取新浪微博内容示例【基于代理IP】

    本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.weibo.cn/u/1259110474) 一般做爬虫爬取网站,首选的都是m站,其次是wap站,最后考虑PC站.当然,这不是绝对的,有的时候PC站的信息最全,而你又恰好需要全部的信息,那么PC站是你的首选.一般m站都以m开头后接域名, 所以本文开搞的网址就是 m.weibo.cn. 前期准备 1.代理IP 网上有

  • 教你如何使用Python快速爬取需要的数据

    一.基础第三方库使用 1.基本使用方法 """例""" from urllib import request response = request.urlopen(r'http://bbs.pinggu.org/') #返回状态 200证明访问成功 print("返回状态码: "+str(response.status)) #读取页面信息转换文本并进行解码,如果本身是UTF-8就不要,具体看页面格式 #搜索"char

  • Python爬取肯德基官网ajax的post请求实现过程

    目录 准备工作 分析 程序入口 url组成数据定位 构造url 参数 post请求 标头获取(防止反爬的一种手段) 请求对象定制 获取网页源码 获取响应中的页面的源码,下载数据 全部代码 爬取后结果 准备工作 查看肯德基官网的请求方法:post请求. X-Requested-With: XMLHttpRequest 判断得肯德基官网是ajax请求 通过这两个准备步骤,明确本次爬虫目标: ajax的post请求肯德基官网 获取上海肯德基地点前10页. 分析 获取上海肯德基地点前10页,那就需要先对

随机推荐