前言

近期有许多项目需要这个功能,由于Python实现起来比较简单就这么做了,代码贴下来觉得好点个赞吧~

代码

# coding: utf-8

import os

import time

import requests

import urllib.parse

from bs4 import BeautifulSoup

from urllib.parse import urlparse

from fake_useragent import UserAgent

from multiprocessing.pool import ThreadPool

LOCATIONS = {}

GLOBAL_THREAD = 500

GLOBAL_TIMEOUT = 50

def get_links(keyword, generator, pages):

links = []

for page in range(int(pages.split("-")[0]), int(pages.split("-")[1]) + 1):

for genera in range(int(generator.split("-")[0]), int(generator.split("-")[1]) + 1):

links.append(

"http://www.baidu.com.cn/s?wd=" + urllib.parse.quote(keyword + str(genera)) + "&pn=" + str(page * 10))

return links

def get_page(url):

headers = {"user-agent": UserAgent().chrome}

req = requests.get(url, headers=headers)

req.encoding = "utf-8"

soup = BeautifulSoup(req.text, "lxml")

for link in soup.select("div.result > h3.t > a"):

req = requests.get(link.get("href"), headers=headers, allow_redirects=False)

if "=" in req.headers["location"]:

root = urlparse(req.headers["location"]).netloc

LOCATIONS[root] = req.headers["location"]

def baidu_search():

try:

os.system("cls")

print("-" * 56 + "\n")

print("| BaiduSearch Engine By 美图博客[https://www.meitubk.com/] |\n")

print("-" * 56 + "\n")

keyword = input("Keyword: ")

generator = input("Generator(1-10): ")

pages = input("Pages(0-10): ")

start = time.time()

pool = ThreadPool(processes=GLOBAL_THREAD)

pool.map(get_page, get_links(keyword, generator, pages))

pool.close()

pool.join()

end = time.time()

path = r"D:\Desktop\result.txt"

save_result(path)

print("\nSava in %s" % path)

print("Result count: %d" % len(LOCATIONS.values()))

print("Running time: %ds" % (end - start))

except:

print("\nInput Error!")

exit(0)

def save_result(path):

with open(path, "w") as file:

for url in list(LOCATIONS.values()):

file.write(url + "\n")

baidu_search()

使用

【Python学习笔记六】获取百度搜索结果以及百度返回“百度安全验证”问题解决

1.获取百度搜索结果页面主要是修改百度搜索url中的参数实现,例如查询的关键字为wd: 举例:https://www.baidu.com/s?wd=python",这样就可以查询到‘pyth ...

python采集百度搜索结果带有特定URL的链接

#coding utf-8 import requests from bs4 import BeautifulSoup as bs import re from Queue import Queue ...

Python获取百度浏览记录

Python模拟百度登录实例详解 http://www.jb51.net/article/78406.htm Python实战计划学习作业2-1 http://blog.csdn.net/python ...

js 获取百度搜索关键词的代码

有可能有时候我们会用到在百度搜什么关键词进来我们的网站的,所有我们又想拿到用户搜索的关键词. 这是我研究了半天所得出的办法.话不多说直接贴代码

jsonp模拟获取百度搜索相关词汇

随便写了个jsonp模拟百度搜索相关词汇的小demo,帮助新手理解jsonp的用法. < ...

Python实现百度搜索并保存到本地示例,Python实现百度搜索

实现百度搜索并保存到本地 User_Agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko ...

解析百度搜索结果链接的url,获取真正的url

通常,在百度输入关键词搜索出现的列表页,点击目标链接,然而跳转的时候却是百度地址,经过百度解析,才真的跳到目标页面. 在SEO中,经常需要看下自己的网站排名,又不想手动每天手动去点,可用以下方法去得到 ...

Python 版百度站长平台链接主动推送脚本

如果自己的网站需要被百度收录,可以在搜索结果中找到,就需要将网站的链接提交给百度.依靠百度的爬虫可能无法检索到网站所有的内容,因此可以主动将链接提交给百度. 在百度的站长平台上介绍了链接提交方法,目前 ...

python 模拟百度搜索

import urllib.request def Url(url): flag = input("请输入要搜索的关键字:") headers_ = { "User-Ag ...

随机推荐

【前端积累】JavascriptUtil 字符串部分

//计算字符串长度 String.prototype.strLen = function() { var len = 0; for (var i = 0; i < this.length; i+ ...

【jq】c&num;零基础学习之路(5)自己编写简单的Mylist&lt&semi;T&gt&semi;

public class MyList where T : IComparable { private T[] array; private int count; public My ...

C&plus;&plus;STL算法函数总结

容器自己定义了的算法vector:swaplist:swap,merge,splice,remove,remove_if,reverse,uniquedeque:swapmap,set,multise ...

简单在android adb root方法

在有些android手机上使用adb root希望获取root权限时出现如下提示信息:adbd cannot run as root in production builds.此时提升root权限的方 ...

Faces&period;JavaServer Pages(JSP)

zhengly.cn atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性 1.1. Servlet和JSP规范版本对应关系:1 1.2. ...

ASP&period;NET请求处理过程

当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给Aspnet_isapi.dll,aspnet_isapi.dll会通 ...

Android NDK and OpenCV Development With Android Studio

Android NDK and OpenCV Development With Android Studio Hujiawei 172 2014年10月22日 发布 推荐 0 推荐 收藏 4 收藏,5 ...

谈谈java中遍历Map的几种方法

java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 先初始化一个map public ...

iOS10 越狱, openSSH

iOS 10 已经可以越狱, 不过比较蛋疼的是非完美越狱,每次重启都要从新越狱. 感兴趣的同学可以尝试一下,本人使用同步推上的教程,亲测可用. 越狱完后想安装OpenSSH, 在Cydia上搜索安装, ...

linux在线安装JDK(1&period;8版本)

在线下载JDK 命令: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-sec ...

python模拟百度搜索点击链接_用 Python 获取百度搜索结果链接相关推荐

  1. 百度竞价点击器_哪些因素影响百度竞价点击量

    一.匹配模式 调整关键词匹配方式是影响百度竞价点击量的第一个原因.通常关键词都会有三种匹配模式,精确匹配,短语匹配和广泛匹配模式.不同的匹配模式决定了广告在搜索结果中被展现的数量,从而进一步影响到了关 ...

  2. 百度广告点击软件_结束了,百度 “毒瘤” 广告!

     " 通过本文,你可以获取一款上网必备的插件,让你摆脱各种"毒瘤"广告." 大家天天逛网页,最恼人的也就是广告了吧.尤其是百度搜索时. 01 - 毒瘤广告有多愁 ...

  3. python模拟鼠标键盘点击,简单自动化动物餐厅

    Python模拟鼠标键盘点击自动化 首先在玩动物餐厅的时候发现他需要连续点击才能完成任务,而这有是一项枯燥而复杂的任务,所以我就想到用python的鼠标模拟来自动完成 Python中模拟键盘和鼠标最著 ...

  4. python 操作 excel 百度网盘 资源下载_批量读取excel百度链接转存到自己的百度网盘...

    [Python] 纯文本查看 复制代码#!/usr/local/Cellar/python/3.7.1/bin # -*- coding: UTF-8 -*- import requests,re,t ...

  5. 搜索不包含关键词_新手教程!百度关键词规划师功能详解

    SEM拓词方式有很多种,比如各平台自带的拓词工具.SEO工具如5118.艾奇拓词工具.搜索词报告等等.但其中,百度平台的拓词工具-关键词规划师应该说效率是最高的,除了拓展相关词外,百度关键词规划师还罗 ...

  6. 百度广告点击软件_网络营销百问百答之64,如何提升企业百度广告点击率

    涛哥网销学,网销可以学. 大家好,我是网销侠-涛哥. 今天和大家分享的是<如何提升企业百度广告点击率> 广告在百度首页展示,意味着广告曝光,并不意味着有人会点击我们的广告. 好比我们在万达 ...

  7. python音乐下载器交互界面设计_用python实现的百度音乐下载器-python-pyqt-改进版...

    之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt ...

  8. python点击屏幕坐标_通过Python,如何获取鼠标在屏幕上的X、Y轴坐标点

    最近在开发基于模拟器的微信自动添加好友工具时,需要获取模拟器中相应按钮,在当前屏幕中的X.Y轴坐标点.先前都是通过"Ctrl+Alt+A"截屏的方式 获取.如下图红框部分所示: 由 ...

  9. python 百度网盘库 根据文件名获取网盘链接_GitHub - tychxn/baidu-wangpan-parse: 获取百度网盘分享文件的下载地址...

    百度网盘分享文件下载链接解析 功能 获取百度网盘分享文件的真实下载地址 将获取到的下载链接复制到IDM.FDM等下载器即可实现高速下载,避免使用百度网盘客户端 运行环境 Python3 (兼容Pyth ...

最新文章

  1. 【转】做正确的事情,等着被开除(Do the right thing, Wait to get fired)
  2. 又一无人车玩家驶出深圳:元戎启行获近5000万美元融资,军运会提供Robo-Taxi接驳服务...
  3. Spring标签mvc:annotation-driven/解读
  4. 关于Oracle Insert 语句的子查询 和 with check option的用法
  5. RocketMQ集群之搭建2m2s集群(配置说明)
  6. C8-2 圆的周长和面积 (100/100 分数)
  7. 计算机输入代码0怎么能输入,电脑蓝屏0xv0000098错误代码怎么回事_电脑蓝屏0xv0000098错误代码的解决方法...
  8. 关于C#的强制转换和尝试转换的方法
  9. docker查询镜像命令_Docker镜像相关命令
  10. CentOS 7.4创建普通用户赋予登录权限
  11. Unity游戏开发——Excel数据读取到游戏中
  12. [渝粤教育] 广东-国家-开放大学 21秋期末考试大学英语210262k2
  13. Springboot毕设项目监狱罪犯信息管理系统d37v6java+VUE+Mybatis+Maven+Mysql+sprnig)
  14. 曾宪武《物联网通信技术》课后答案(四)
  15. 搜索引擎提交软件_搜索引擎排名因素有哪些?
  16. 在vue中修改数组某个元素,值变了,渲染不了
  17. 2023校招荣耀笔试
  18. 国内 Mono 相关文章汇总
  19. 面向对象程序设计c++版董正言张聪课本课后习题答案第六章
  20. 什么网站适合高防服务器,什么叫高防服务器

热门文章

  1. 终于找到要辞职的原因了
  2. acdsee 10 注册号和软件下载链接
  3. ArcGIS读取天地图出现错位的情况
  4. 小程序12306服务器,12306 网站、官方 app 外,小程序也了上线高铁订餐功能
  5. 用JAVA语言实现一个日历项目
  6. 解决ubuntu12.04上无法运行Minitool的问题
  7. WPS表格的数值转为日期 日期转为时间戳 时间戳转为日期
  8. 机房维护 网拷_网络运行维护及机房应急方案计划
  9. 用户难增,广告营收下跌,微博还能“高飞”吗?
  10. python+vue+elementui学生考试成绩数据分析与可视化系统django