通过代码实现抓取个人博客中某一页指定文章链接,并批量将该链接推送到百度站长平台,起到快速收录的目的。

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)

Python 代码推送百度链接的更多相关文章

  1. 将本地的代码推送到公网的github账号去

    将本地的代码推送到公网的github账号去 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近工作上需要用到github账号,拜读了一位叫廖雪峰的大神的文档,把git的前世今生说的 ...

  2. 使用 git 将代码推送到多个仓库

    使用 git 将代码推送到多个仓库 起因     起初,在 GitHub 建了一个仓库,200+ 的 commits .后来(终于在眼泪中明白...误

  3. 七、25.创建user子分支并把代码推送到码云仓库中

    打开终端点击+新建一个终端 注意 :如下操作都是在2:powershell下进行 先来检查一下当前所处分支 git branch 我们应该把这些代码都写到user分支上 接下来应该把这些代码统一迁移到 ...

  4. 百度链接提交-js代码推送批量推送版

    1原百度JS链接推送代码 首先我们来看一下原百度JS链接推送代码是这*样的 用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用.安装代码的页面在任意平台(浏 ...

  5. 链接提交-js代码推送进化版

    百度站长平台提供链接索引的自动提交JS脚本已经有一段时日了.用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用.安装代码的页面在任意平台(浏览器.微信.微博 ...

  6. python 微信推送模板消息

    #!/usr/bin/env python #-*- coding: utf-8 -*- import httplib import json import MySQLdb #从数据库中获取acces ...

  7. Android推送 百度云推送 入门篇

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27231237 现在app基本都有推送的功能,于是看了下百度云的推送,官方文档和D ...

  8. Python邮箱推送

    利用python进行邮箱推送可以配和爬虫使用,也可以监控github上面CVE等 一个基于Python的邮箱推送脚本 需要有一个邮箱授权码不知道哪里获取可以百度就不多详细的描述了 成品: # 发送多种 ...

  9. iOS推送 (百度推送)

    近期在使用推送,所以与大家分享一下我所遇到的问题,与解决这个问题的方法.! 1.首先生成CertificateSigningRequest文件. 点击钥匙串訪问-->从证书颁发机构请求证书--& ...

  10. python - 小米推送使用

    1. 小米文档及SDK下载 1.文档介绍 https://dev.mi.com/console/doc/detail?pId=863 sdk说明: 2.开发者需要登录开发者网站(申请AppID, Ap ...

随机推荐

  1. AliPLC 智能丢包补偿算法,提升弱网环境的通话质量

    在线视频/语音通话逐渐成为人们日常生活的一部分,而复杂多变的网络环境会导致部分音频包无法传送到接收端,造成语音信号的短时中断或者卡顿,这会严重影响通话体验,为解决这类问题,阿里云视频云音频技术团队在综 ...

  2. LiveData的用法

    一.实时数据LiveData 在上一节中,我们学习了ViewModel,了解到ViewModel的主要作用是存放页面所需要的各种数据.我们在示例代码中定义了接口,当数据发生变化的时候,采用接口的方式实 ...

  3. 方法记录 | 文件批量导入Goodnotes

    一般来说通常资料都是用网盘下载了很多文件,想用Goodnotes来写批注,记笔记等,但是由于网盘不能直接分享.也不能批量分享到Goodnotes,给学习带来了很大的麻烦. 当然有钱的大佬们呢直接开了 ...

  4. 【每日一题】31.「土」秘法地震 (二维前缀和 / DP)

    补题链接:Here 题意就是要找每一个 \(k * k\) 的小正方形里至少有一个1的数量 显然我们可以通过二维前缀和处理出(1, 1) 到 (n, m) 的数量 然后通过枚举处理出答案,具体思想是容 ...

  5. HHKB Programming Contest 2020 补题记录(D题投影,E题预处理节省时间)

    补题链接:Here A - Keyboard 签到,S 为 Y 则输出大写 T,不然则原样输出 T int main() { ios_base::sync_with_stdio(false), cin ...

  6. <vue 基础知识 2、插值语法> v-once,v-html,v-text,v-pre,v-cloak

    代码结构 一.     Mustache 1.效果 展示如何将数据展示在页面上 2.代码 01-Mustache.html <!DOCTYPE html> <html lang=&q ...

  7. vue中form组件中上传el-upload(单、多附件上传,以及上传回显以及编辑不出现等问题)

    https://blog.csdn.net/weixin_46565787/article/details/121934075?spm=1001.2101.3001.6650.2&utm_me ...

  8. NLP复习之神经网络

    NLP复习之神经网络 前言 tips: 设计神经网络时,输入层与输出层节点数往往固定,中间层可以自由指定: 神经网络中的拓扑与箭头代表预测过程数据流向,与训练的数据流有一定区别: 我们不妨重点关注连接 ...

  9. Nacos源码 (4) 配置中心

    本文阅读nacos-2.0.2的config源码,编写示例,分析推送配置.监听配置的原理. 客户端 创建NacosConfigService对象 Properties properties = new ...

  10. java - 数组降序输出

    package array; import java.util.Arrays; /** * 降序 */ public class Reverse { public static void main(S ...