美文网首页
python3采集网页上所有的超链接URL及文本

python3采集网页上所有的超链接URL及文本

作者: yoyo狐 | 来源:发表于2018-12-05 17:09 被阅读0次

python3脚本先放上

import requests
import re
from urllib.parse import urljoin
import csv
import chardet

def caiji(url):
    file = open('result.csv', 'w', encoding='utf-8', newline='')
    cw = csv.writer(file)
    cw.writerow(['URL', 'Anchor'])

    resp = requests.get(url)
    encoding = chardet.detect(resp.content)["encoding"]
    # print(encoding)
    resp.encoding = encoding
    link_list = re.findall(r'<a.*?href="(.*?)".*?>(.*?)</a>', resp.text, re.S|re.I)
    for link in link_list:
        a = urljoin(url, link[0]), link[1]
        print(a)
        cw.writerow(a)

    file.close()

if __name__ == '__main__':
    url = ''  # 要采集的URL
    caiji(url) 

稍做解释

  1. 上述脚本结果存入Excel,其中newline=''不会出现空行。
  2. python正则导入模块import re,URL及其文本匹配<a.*?href="(.*?)".*?>(.*?)</a>
  3. 以下这两行以便python正确识别网页编码,以防乱码。
encoding = chardet.detect(resp.content)["encoding"]
resp.encoding = encoding
  1. urljoin(url, link[0]) Url相对路径,改为绝对路径。

对SEO作用

  1. 方便查看网页上有那些超链接,以便进一步查看是否是404、301等。
  2. 根据First link counts原则,查看相同Url,第一个Url的anchor是否合适。

相关文章

  • python3采集网页上所有的超链接URL及文本

    python3脚本先放上 稍做解释 上述脚本结果存入Excel,其中newline=''不会出现空行。 pytho...

  • JAVA web基础

    网页和网站的区别 网页:文本 图像 超链接 表格 表单 ...

  • Excel中VBA自定义宏实现将文本自动转换为链接,然后将地址自

    第一步:文本转url超链接地址 第二步:将url超链接地址直接显示图片

  • url采集工具

    url无限采集工具一丶运行环境:python3 + redis数据库 二丶采集原理:从初始关键词里面采集网址,然后...

  • Java 添加超链接至Excel文档

    在Excel文档中,若想快速访问其他文件或网页上的相关信息,可以在工作表单元格中插入超链接。超链接可为文本或图片,...

  • VUE-路由

    后端路由:对于普通网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;前端路由:对于单页面...

  • 前端路由和后端路由的概念

    后端路由 对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 前端路由 对于单...

  • day04-vuejs-路由(vue-router)

    什么是路由: 后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 前...

  • vue 知识点整理——路由(vue-router)

    什么是路由 后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 前端...

  • document.referer

    一、what document对象的referrer属性,返回导航到当前网页的超链接所在网页的URL。简而言之,返...

网友评论

      本文标题:python3采集网页上所有的超链接URL及文本

      本文链接:https://www.haomeiwen.com/subject/pzjwcqtx.html