从入门到入土:基于Python实现百度查询返回结果真实url读取及域名读取

此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
本人博客所有文章纯属学习之用,不涉及商业利益。不合适引用,自当删除!
若被用于非法行为,与我本人无关

基于Python实现百度查询返回结果真实url读取及域名读取

代码

import requests                          #用于请求网页
from bs4 import BeautifulSoup            #用于处理获取的到的网页源码数据
from urllib.parse import urlparse        #用于处理url

headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 Edg/90.0.818.56',
        'Cookie':'#自己加'}

def get_baidu():

        what=input("请输入查询内容:")
        what=str(what)
        url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&ch=3&tn=site888_2_pg&wd={}&oq=%25E5%25BE%25AE%25E5%258D%259A&rsv_pq=ab9433940005fc20&rsv_t=f721nLpQiz6ELa%2BXTEM1GulsITO9WZ656CgvrvKzqe1k4COXnRJIaM3oVDLyffZkK4DB&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=6&rsv_sug1=6&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=1552&rsv_sug4=2322'.format(what)
        rs = requests.session()
        r = rs.get(url, headers=headers)
        soup = BeautifulSoup(r.content, 'lxml')

        h3=soup.find_all('h3')

        for H3 in h3:
           try:
                data=[]
                a=H3.find('a')
                data.append(a.text)
                data.append(a['href'])
                link=a['href']
                try:
                        RS = requests.session()
                        R = RS.get(url=link,allow_redirects=False,verify=False, headers=headers)
                        LINK=R.headers["Location"]#再次请求之后location定位
                        data.append(LINK)
                        domain = str(urlparse(LINK).scheme + "://" + urlparse(LINK).netloc)#获取域名
                        Subdomain.append(domain)
                        data.append(domain)
                except:
                      pass

                for i in data:
                        print(i)
           except:
                  pass

if __name__ == '__main__':
    get_baidu()

过程分析

  • 首先对于输入的查找内容进行构造url然后发送请求并解析
  • 定位到指定的标签获取我们所搜索到的文本信息以及百度的跳转url
  • 然后进行域名提取
  • 最后是完善错误机制

运行结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

完成情况

  • 成功提取了百度引擎的中搜索到的标题与跳转url,并且得到了真实url以及真实域名
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值