在信息时代高速发展的现在,“互联网+”的使用日趋zhanzhang过互联网学习知识,传递思想,沟通交流,在众多数据和用户的碰撞中,互联网经济应运而生。作为一位金融学子,学会利用网络收集信息是最基本的要求,接下来,我将以“行业网站”——站长之家为例,通过Python爬取各个网站的信息(主要为名称、Alexa周排名、反链数等)来更直观、准确地分析其中各个网站在互联网上的竞争力排名,以此了解用户对某些类型网站的喜好程度。
二、实验项目通过Python爬取“行业网站”——站长之家中各网站的名称、Alexa周排名、反链数等信息
三、实验操作步骤
(一)观察网页
首先通过浏览器进入“行业网站”——站长之家,查看网页的基本结构,通过改变网页得出为静态网页的结论,以下为网站名称及网址:
行业网站 - 行业网站排名 - 网站排行榜 (chinaz.com)
https://top.chinaz.com/hangye
右键点击网页出现审查界面如下:
在此源代码界面,我们能看到我们需要的百度、Alexa周排名、反链数等字样,稍后我们要做的就是将其提取出来。
(二)请求数据
点击网页名字再点击标头,我们就能看到其真实网站,同时发现其请求方法是GET,状态代码Status Code为200通过,说明请求成功。
导入第三方数据库
#导入库
import requests #requests库请求网页
from lxml import etree #进行文件格式解析
import pandas as pd #pandas库保存索引信息
设置headers与请求链接
#设置请求头
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36"}
#requests请求链接
rq = requests.get(url,headers=headers).text
(三)解析数据
使用lxml模块中的etree方法将字符串转化为html标签,再使用xpath方法获取多行信息。
我们观察到,需要的网站信息存储在class='listCentent'的ul标签下,该标签在html标签下的body标签下第四个div标签下的第三个div标签下的第二个div标签下。
其Xpath绝对路径如下:
/html/body/div[4]/div[3]/div[2]/ul
我们有个更简便的方法可以获得其绝对路径:右键点击Copy-Copy full Xpath,即可获得该标签Xpath的绝对路径。