python爬取盘搜的有效链接实现代码


Posted in Python onJuly 20, 2019

因为盘搜搜索出来的链接有很多已经失效了,影响找数据的效率,因此想到了用爬虫来过滤出有效的链接,顺便练练手~

这是本次爬取的目标网址http://www.pansou.com,首先先搜索个python,之后打开开发者工具,

可以发现这个链接下的json数据就是我们要爬取的数据了,把多余的参数去掉,

剩下的链接格式为http://106.15.195.249:8011/search_new?q=python&p=1,q为搜索内容,p为页码

python爬取盘搜的有效链接实现代码

以下是代码实现:

import requests
import json
from multiprocessing.dummy import Pool as ThreadPool
from multiprocessing import Queue
import sys
headers = {
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
}
q1 = Queue()
q2 = Queue()
urls = [] # 存取url列表
# 读取url
def get_urls(query):
  # 遍历50页
  for i in range(1,51):
    # 要爬取的url列表,返回值是json数据,q参数是搜索内容,p参数是页码
    url = "http://106.15.195.249:8011/search_new?&q=%s&p=%d" % (query,i)
    urls.append(url)
# 获取数据
def get_data(url):
  print("开始加载,请等待...")
  # 获取json数据并把json数据转换为字典
  resp = requests.get(url, headers=headers).content.decode("utf-8")
  resp = json.loads(resp)
  # 如果搜素数据为空就抛出异常停止程序
  if resp['list']['data'] == []:
    raise Exception
  # 遍历每一页数据的长度
  for num in range(len(resp['list']['data'])):
    # 获取百度云链接
    link = resp['list']['data'][num]['link']
    # 获取标题
    title = resp['list']['data'][num]['title']
    # 访问百度云链接,判断如果页面源代码中有“失效时间:”这段话的话就表明链接有效,链接无效的页面是没有这段话的
    link_content = requests.get(link, headers=headers).content.decode("utf-8")
    if "失效时间:" in link_content:
      # 把标题放进队列1
      q1.put(title)
      # 把链接放进队列2
      q2.put(link)
      # 写入csv文件
      with open("wangpanziyuan.csv", "a+", encoding="utf-8") as file:
        file.write(q1.get()+","+q2.get() + "\n")
  print("ok")
if __name__ == '__main__':
  # 括号内填写搜索内容
  get_urls("python")
  # 创建线程池
  pool = ThreadPool(3)
  try:
    results = pool.map(get_data, urls)
  except Exception as e:
    print(e)
  pool.close()
  pool.join()
  print("退出")

总结

以上所述是小编给大家介绍的python爬取盘搜的有效链接实现代码希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python守护进程用法实例分析
Jun 04 Python
详解Python编程中包的概念与管理
Oct 16 Python
详解python的几种标准输出重定向方式
Aug 15 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
Python Django框架模板渲染功能示例
Nov 08 Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 Python
python+OpenCV实现图像拼接
Mar 05 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Python 实现将某一列设置为str类型
Jul 14 Python
python 操作excel表格的方法
Dec 05 Python
Python if else条件语句形式详解
Mar 24 Python
python将字符串list写入excel和txt的实例
Jul 20 #Python
python中for循环把字符串或者字典添加到列表的方法
Jul 20 #Python
python:按行读入,排序然后输出的方法
Jul 20 #Python
对Python3中列表乘以某一个数的示例详解
Jul 20 #Python
python3在同一行内输入n个数并用列表保存的例子
Jul 20 #Python
在python中实现同行输入/接收多个数据的示例
Jul 20 #Python
python使用tomorrow实现多线程的例子
Jul 20 #Python
You might like
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
python基本语法练习实例
2017/09/19 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Django权限设置及验证方式
2020/05/13 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
外贸销售员求职的自我评价
2013/11/23 职场文书
秋季运动会活动方案
2014/02/05 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
求职自我推荐信
2015/03/24 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
廉洁自律证明
2015/06/24 职场文书
教师网络培训心得体会
2016/01/09 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫