以下是使用BeautifulSoup库进行网络爬虫搜索重复链接的代码示例:
from bs4 import BeautifulSoup
import requests
# 发送HTTP请求并获取网页内容
def get_html(url):
response = requests.get(url)
html = response.text
return html
# 使用BeautifulSoup解析网页内容,并提取所有链接
def get_links(html):
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a')
return links
# 寻找重复链接
def find_duplicate_links(links):
seen_links = set()
duplicate_links = []
for link in links:
href = link.get('href')
if href in seen_links:
duplicate_links.append(href)
else:
seen_links.add(href)
return duplicate_links
# 主函数
def main():
url = 'https://example.com' # 网页链接
html = get_html(url)
links = get_links(html)
duplicate_links = find_duplicate_links(links)
print("重复链接:")
for link in duplicate_links:
print(link)
if __name__ == '__main__':
main()
在上述代码中,我们首先定义了三个函数:get_html
函数用于发送HTTP请求并获取网页内容,get_links
函数使用BeautifulSoup库解析网页内容并提取所有链接,find_duplicate_links
函数用于寻找重复链接。
然后,在main
函数中,我们指定要爬取的网页链接,然后依次调用上述函数,最后输出重复链接。
请注意,上述代码只是一个简单示例,实际的网络爬虫应该考虑更多的细节和处理方式,例如处理异常情况、限制爬取速度等。