当前位置:首页 > python > 正文内容

如何用python获取一个网页的所有连接

zhangsir3年前 (2022-09-21)python457

如何用python获取一个网页的所有连接

很简单直接上代码:

# -*- coding: utf-8 -*-
'''
如何用python获取一个网页的所有连接
author:zhangsir
'''
import requests
import time
from lxml import etree
#网址
url = 'https://www.baidu.com'
#请求头
headers={
"Host": "www.baidu.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36",
"Cookie": "BIDUPSID=C7465C07C18C65C97A99CA9252B157C5; PSTM=1663725617; BAIDUID=C7465C07C18C65C93CEFB95934D4AD90:FG=1; BD_HOME=1; H_PS_PSSID=36558_36462_36921_37300_36885_37345_36569_37405_37261_26350_37285_22157_37231; BD_UPN=1a314753; BAIDUID_BFESS=C7465C07C18C65C93CEFB95934D4AD90:FG=1; BA_HECTOR=84al0lal2184a4ah810lo25o1hiks0j19; ZFY=2znAwD2OEqUOkcGnGOgJBJQB89SW7H2KCibOnac:ALc4:C"
}
#爬虫
a = requests.get(url=url,headers=headers)
#获取源码
b = a.text
#转成lxml需要的格式
html = etree.HTML(b)
#获取a标签的所有连接
link = html.xpath('//a/@href')
#去重
list2 = list(set(link))
#打印
print(list2)


zhangsir版权f8防采集https://mianka.xyz

扫描二维码推送至手机访问。

版权声明:本文由zhangsir or zhangmaam发布,如需转载请注明出处。

本文链接:https://mianka.xyz/post/31.html

标签: python
分享给朋友:

“如何用python获取一个网页的所有连接” 的相关文章

解决Django的request.POST获取不到请求参数的问题

这个是Django自身的问题:只要在请求头的添加"content-type":'application/x-www-form-urlencoded'就行。...

计算机学习视频教程

人工智能机器学习:Python&R实践课程介绍:https://www.aihorizon.cn/1百度网盘地址: https://pan.baidu.com/s/1a743NTKFRjsgexMTagWooA?pwd=e39j动手使用Python进行自然语言处理(NLP)课程介绍:http...

python 多线程与多进程的代码实例

一.两者区别多进程和多线程的主要区别是:线程是进程的子集(部分),一个进程可能由多个线程组成。多进程的数据是分开的、共享复杂,需要用IPC;但同步简单。多线程共享进程数据,共享简单;但同步复杂。(1)多进程进程是程序在计算机上的一次执行活动,即正在运行中的应用程序,通常称为进程。当你运行一个程序,你...

python—pymysql的增删改查操作实例展示

Python使用pymysql连接数据库1.导包import pymysql2.连接数据库connection = pymysql.connect(     host='',  # ...

Linux系统下使用Python+selenium+谷歌浏览器下载文件

from seleniumwire import webdriver import time ch_options = webdriver.ChromeOptions() ch_options.add_argument("-...

python 实现快速扣背景图功能

一,实现快速扣背景图需要rembg这个三方库#引入rembg库 from rembg import remove #素材 input_path = 'input.jpg' #效果 output_path =&nbs...