python模拟百度搜索点击链接_用 Python 获取百度搜索结果链接
前言
近期有许多项目需要这个功能,由于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#零基础学习之路(5)自己编写简单的Mylist<;T>;
public class MyList where T : IComparable { private T[] array; private int count; public My ...
C++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.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.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.8版本)
在线下载JDK 命令: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-sec ...
python模拟百度搜索点击链接_用 Python 获取百度搜索结果链接相关推荐
- 百度竞价点击器_哪些因素影响百度竞价点击量
一.匹配模式 调整关键词匹配方式是影响百度竞价点击量的第一个原因.通常关键词都会有三种匹配模式,精确匹配,短语匹配和广泛匹配模式.不同的匹配模式决定了广告在搜索结果中被展现的数量,从而进一步影响到了关 ...
- 百度广告点击软件_结束了,百度 “毒瘤” 广告!
" 通过本文,你可以获取一款上网必备的插件,让你摆脱各种"毒瘤"广告." 大家天天逛网页,最恼人的也就是广告了吧.尤其是百度搜索时. 01 - 毒瘤广告有多愁 ...
- python模拟鼠标键盘点击,简单自动化动物餐厅
Python模拟鼠标键盘点击自动化 首先在玩动物餐厅的时候发现他需要连续点击才能完成任务,而这有是一项枯燥而复杂的任务,所以我就想到用python的鼠标模拟来自动完成 Python中模拟键盘和鼠标最著 ...
- python 操作 excel 百度网盘 资源下载_批量读取excel百度链接转存到自己的百度网盘...
[Python] 纯文本查看 复制代码#!/usr/local/Cellar/python/3.7.1/bin # -*- coding: UTF-8 -*- import requests,re,t ...
- 搜索不包含关键词_新手教程!百度关键词规划师功能详解
SEM拓词方式有很多种,比如各平台自带的拓词工具.SEO工具如5118.艾奇拓词工具.搜索词报告等等.但其中,百度平台的拓词工具-关键词规划师应该说效率是最高的,除了拓展相关词外,百度关键词规划师还罗 ...
- 百度广告点击软件_网络营销百问百答之64,如何提升企业百度广告点击率
涛哥网销学,网销可以学. 大家好,我是网销侠-涛哥. 今天和大家分享的是<如何提升企业百度广告点击率> 广告在百度首页展示,意味着广告曝光,并不意味着有人会点击我们的广告. 好比我们在万达 ...
- python音乐下载器交互界面设计_用python实现的百度音乐下载器-python-pyqt-改进版...
之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt ...
- python点击屏幕坐标_通过Python,如何获取鼠标在屏幕上的X、Y轴坐标点
最近在开发基于模拟器的微信自动添加好友工具时,需要获取模拟器中相应按钮,在当前屏幕中的X.Y轴坐标点.先前都是通过"Ctrl+Alt+A"截屏的方式 获取.如下图红框部分所示: 由 ...
- python 百度网盘库 根据文件名获取网盘链接_GitHub - tychxn/baidu-wangpan-parse: 获取百度网盘分享文件的下载地址...
百度网盘分享文件下载链接解析 功能 获取百度网盘分享文件的真实下载地址 将获取到的下载链接复制到IDM.FDM等下载器即可实现高速下载,避免使用百度网盘客户端 运行环境 Python3 (兼容Pyth ...
最新文章
- 【转】做正确的事情,等着被开除(Do the right thing, Wait to get fired)
- 又一无人车玩家驶出深圳:元戎启行获近5000万美元融资,军运会提供Robo-Taxi接驳服务...
- Spring标签mvc:annotation-driven/解读
- 关于Oracle Insert 语句的子查询 和 with check option的用法
- RocketMQ集群之搭建2m2s集群(配置说明)
- C8-2 圆的周长和面积 (100/100 分数)
- 计算机输入代码0怎么能输入,电脑蓝屏0xv0000098错误代码怎么回事_电脑蓝屏0xv0000098错误代码的解决方法...
- 关于C#的强制转换和尝试转换的方法
- docker查询镜像命令_Docker镜像相关命令
- CentOS 7.4创建普通用户赋予登录权限
- Unity游戏开发——Excel数据读取到游戏中
- [渝粤教育] 广东-国家-开放大学 21秋期末考试大学英语210262k2
- Springboot毕设项目监狱罪犯信息管理系统d37v6java+VUE+Mybatis+Maven+Mysql+sprnig)
- 曾宪武《物联网通信技术》课后答案(四)
- 搜索引擎提交软件_搜索引擎排名因素有哪些?
- 在vue中修改数组某个元素,值变了,渲染不了
- 2023校招荣耀笔试
- 国内 Mono 相关文章汇总
- 面向对象程序设计c++版董正言张聪课本课后习题答案第六章
- 什么网站适合高防服务器,什么叫高防服务器
热门文章
- 终于找到要辞职的原因了
- acdsee 10 注册号和软件下载链接
- ArcGIS读取天地图出现错位的情况
- 小程序12306服务器,12306 网站、官方 app 外,小程序也了上线高铁订餐功能
- 用JAVA语言实现一个日历项目
- 解决ubuntu12.04上无法运行Minitool的问题
- WPS表格的数值转为日期 日期转为时间戳 时间戳转为日期
- 机房维护 网拷_网络运行维护及机房应急方案计划
- 用户难增,广告营收下跌,微博还能“高飞”吗?
- python+vue+elementui学生考试成绩数据分析与可视化系统django