Python 代码推送百度链接
通过代码实现抓取个人博客中某一页指定文章链接,并批量将该链接推送到百度站长平台,起到快速收录的目的。
import sys
import 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 = "http://data.zz.baidu.com/urls?site=https://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 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-t',
'Content-Length': '83'
}
urls = "http://data.zz.baidu.com/urls?site=https://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"https://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)
文章出处:https://www.cnblogs.com/LyShark/p/15730766.html
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
分类:
《Python 代码片段总结》
标签:
Python 入门
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-12-25 MariaDB 单表查询与聚合查询