如何用Python代码实现向百度推送链接操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计845个文字,预计阅读时间需要4分钟。
使用代码抓取个人博客中指定文章的链接,并将链接批量推送到百度站长的过程如下:
pythonimport sysimport requestsfrom bs4 import BeautifulSoup
def fetch_blog_links(url): try: response=requests.get(url) response.raise_for_status() # 确保请求成功 soup=BeautifulSoup(response.text, '.parser') # 假设文章链接在标签的href属性中 links=soup.find_all('a', href=True) return [link['href'] for link in links] except requests.RequestException as e: print(f请求错误:{e}) return []
def push_links_to_baidu(links): for link in links: # 假设百度站长平台的推送接口为:http://zhanzhang.baidu.com/crawl/addurl # 实际使用时需要替换为正确的接口和参数 push_url=http://zhanzhang.baidu.com/crawl/addurl payload={'url': link} try: response=requests.post(push_url, data=payload) response.raise_for_status() print(f链接 {link} 已成功推送至百度站长平台) except requests.RequestException as e: print(f推送链接 {link} 失败:{e})
if __name__==__main__: if len(sys.argv) !=2: print(用法:python script.py ) sys.exit(1)
blog_url=sys.argv[1] links=fetch_blog_links(blog_url) push_links_to_baidu(links)
通过代码实现抓取个人博客中某一页指定文章链接,并批量将该链接推送到百度站长平台,起到快速收录的目的。
import sysimport requests
from bs4 import BeautifulSoup
# 推送百度爬虫
def push_page(url):
headers = {
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain',
'Content-Length': '83'
}
urls = "data.zz.baidu.com/urls?site=www.lyshark.com&token=MpHvVKjbs10XqaW"
try:
html = requests.post(urls, headers=headers, data=url, timeout=5).text
push_status = eval(html)['success']
if push_status == 1:
return 1
else:
return 0
except:
return 0
# 获取路径
def get_page(page):
html = requests.get(page,timeout=5).text
try:
bs = BeautifulSoup(html,"html.parser")
ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
for item in ret:
push_url = item.get('href')
push_ref = push_page(push_url)
print("推送: {} --> 状态: {}".format(push_url,push_ref))
return 1
except:
return 0
if __name__ == "__main__":
arg = sys.argv
get_page(arg[1])
2.0批量推送
import requestsfrom bs4 import BeautifulSoup
# 推送百度爬虫
def push_page(url):
headers = {
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain-t',
'Content-Length': '83'
}
urls = "data.zz.baidu.com/urls?site=www.lyshark.com&token=C5pA6XTWlCxdCwB"
try:
html = requests.post(urls, headers=headers, data=url, timeout=5).text
push_status = eval(html)['success']
if push_status == 1:
print("推送页面: {} 推送状态: {}".format(url,push_status))
return 1
else:
print("推送页面: {} 推送状态: {}".format(url, push_status))
return 0
except:
return 0
# 获取路径
def get_page(page):
push_url_list = []
html = requests.get(page,timeout=5).text
try:
bs = BeautifulSoup(html,"html.parser")
ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
for item in ret:
push_url = item.get('href')
print("提取链接: {}".format(push_url))
push_url_list.append(push_url)
return push_url_list
except:
return 0
# 生成所有页面链接
def create_page(start,end):
page_list = []
for ea in range(start,end+1):
page = f"www.lyshark.com/page/{ea}/"
print("创建页面链接: {}".format(page))
page_list.append(page)
return page_list
if __name__ == "__main__":
while True:
push_url = []
# 生成页面目录
page = create_page(1,15)
for each in page:
# 输出每一个链接目录树
ref = get_page(each)
push_url.extend(ref)
# 开始批量推送
for url in push_url:
push_page(url)
版权声明:本博客文章与代码均为学习时整理的笔记,文章 [均为原创] 作品,转载请 [添加出处] ,您添加出处是我创作的动力!
本文共计845个文字,预计阅读时间需要4分钟。
使用代码抓取个人博客中指定文章的链接,并将链接批量推送到百度站长的过程如下:
pythonimport sysimport requestsfrom bs4 import BeautifulSoup
def fetch_blog_links(url): try: response=requests.get(url) response.raise_for_status() # 确保请求成功 soup=BeautifulSoup(response.text, '.parser') # 假设文章链接在标签的href属性中 links=soup.find_all('a', href=True) return [link['href'] for link in links] except requests.RequestException as e: print(f请求错误:{e}) return []
def push_links_to_baidu(links): for link in links: # 假设百度站长平台的推送接口为:http://zhanzhang.baidu.com/crawl/addurl # 实际使用时需要替换为正确的接口和参数 push_url=http://zhanzhang.baidu.com/crawl/addurl payload={'url': link} try: response=requests.post(push_url, data=payload) response.raise_for_status() print(f链接 {link} 已成功推送至百度站长平台) except requests.RequestException as e: print(f推送链接 {link} 失败:{e})
if __name__==__main__: if len(sys.argv) !=2: print(用法:python script.py ) sys.exit(1)
blog_url=sys.argv[1] links=fetch_blog_links(blog_url) push_links_to_baidu(links)
通过代码实现抓取个人博客中某一页指定文章链接,并批量将该链接推送到百度站长平台,起到快速收录的目的。
import sysimport requests
from bs4 import BeautifulSoup
# 推送百度爬虫
def push_page(url):
headers = {
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain',
'Content-Length': '83'
}
urls = "data.zz.baidu.com/urls?site=www.lyshark.com&token=MpHvVKjbs10XqaW"
try:
html = requests.post(urls, headers=headers, data=url, timeout=5).text
push_status = eval(html)['success']
if push_status == 1:
return 1
else:
return 0
except:
return 0
# 获取路径
def get_page(page):
html = requests.get(page,timeout=5).text
try:
bs = BeautifulSoup(html,"html.parser")
ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
for item in ret:
push_url = item.get('href')
push_ref = push_page(push_url)
print("推送: {} --> 状态: {}".format(push_url,push_ref))
return 1
except:
return 0
if __name__ == "__main__":
arg = sys.argv
get_page(arg[1])
2.0批量推送
import requestsfrom bs4 import BeautifulSoup
# 推送百度爬虫
def push_page(url):
headers = {
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain-t',
'Content-Length': '83'
}
urls = "data.zz.baidu.com/urls?site=www.lyshark.com&token=C5pA6XTWlCxdCwB"
try:
html = requests.post(urls, headers=headers, data=url, timeout=5).text
push_status = eval(html)['success']
if push_status == 1:
print("推送页面: {} 推送状态: {}".format(url,push_status))
return 1
else:
print("推送页面: {} 推送状态: {}".format(url, push_status))
return 0
except:
return 0
# 获取路径
def get_page(page):
push_url_list = []
html = requests.get(page,timeout=5).text
try:
bs = BeautifulSoup(html,"html.parser")
ret = bs.select('div[class="container"] div[class="row"] h2[class="post-title"] a')
for item in ret:
push_url = item.get('href')
print("提取链接: {}".format(push_url))
push_url_list.append(push_url)
return push_url_list
except:
return 0
# 生成所有页面链接
def create_page(start,end):
page_list = []
for ea in range(start,end+1):
page = f"www.lyshark.com/page/{ea}/"
print("创建页面链接: {}".format(page))
page_list.append(page)
return page_list
if __name__ == "__main__":
while True:
push_url = []
# 生成页面目录
page = create_page(1,15)
for each in page:
# 输出每一个链接目录树
ref = get_page(each)
push_url.extend(ref)
# 开始批量推送
for url in push_url:
push_page(url)
版权声明:本博客文章与代码均为学习时整理的笔记,文章 [均为原创] 作品,转载请 [添加出处] ,您添加出处是我创作的动力!

