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


Posted in Python onAugust 30, 2019

这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

#coding utf-8
import requests
from bs4 import BeautifulSoup as bs
import re
from Queue import Queue
import threading
from argparse import ArgumentParser

arg = ArgumentParser(description='baidu_url_collet py-script by xiaoye')
arg.add_argument('keyword',help='keyword like inurl:?id=for searching sqli site')
arg.add_argument('-p','--page',help='page count',dest='pagecount',type=int)
arg.add_argument('-t','--thread',help='the thread_count',dest='thread_count',type=int,default=10)
arg.add_argument('-o','--outfile',help='the file save result',dest='oufile',type=int,default='result.txt')
result = arg.parse_args()
headers = {'User-Agent':'Mozilla/5.0(windows NT 10.0 WX64;rv:50.0) Gecko/20100101 Firefox/50.0'}

class Bg_url(threading.Thread):
  def __init__(self,que):
    threading.Thread.__init__(self)
    self._que = que
  def run(self):
    while not self._que.empty():
      URL = self._que.get()
      try:
        self.bd_url_collet(URL)
      except Exception,e:
        print(e)
        pass
  def bd_url_collect(self, url):
    r = requests.get(url, headers=headers, timeout=3)
    soup = bs(r.content, 'lxml', from_encoding='utf-8')
    bqs = soup.find_all(name='a', attrs={‘data-click‘:re.compile(r'.'), 'class':None})#获得从百度搜索出来的a标签的链接
    for bq in bqs:
      r = requests.get(bq['href'], headers=headers, timeout=3)#获取真实链接
      if r.status_code == 200:#如果状态码为200
        print r.url
        with open(result.outfile, 'a') as f:
          f.write(r.url + '\n')
def main():
  thread = []
  thread_count = result.thread_count
  que = Queue()
  for i in range(0,(result.pagecount-1)*10,10):
  que.put('https://www.baidu.com/s?wd=' + result.keyword + '&pn=' + str(i))
  or i in range(thread_count):
  thread.append(Bd_url(que))
  for i in thread:
    i.start()
  for i in thread:
    i.join()    
if __name__ == '__main__':
  main()  
#执行格式
python aaaaa.py "inurl:asp?id=" -p 30 -t 30

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python提示No module named images的解决方法
Sep 29 Python
Python函数中定义参数的四种方式
Nov 30 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python实现简单flappy bird
Dec 24 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python中rb含义理解
Jun 18 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 Python
Python私有属性私有方法应用实例解析
Sep 15 Python
Python 操作 MySQL数据库
Sep 18 Python
matplotlib事件处理基础(事件绑定、事件属性)
Feb 03 Python
python基础详解之if循环语句
Apr 24 Python
Python time库的时间时钟处理
May 02 Python
python获取Linux发行版名称
Aug 30 #Python
python实现ip地址查询经纬度定位详解
Aug 30 #Python
Django 对IP访问频率进行限制的例子
Aug 30 #Python
关于Python3 类方法、静态方法新解
Aug 30 #Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 #Python
简单的Python调度器Schedule详解
Aug 30 #Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 #Python
You might like
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
python使用cookielib库示例分享
2014/03/03 Python
python实现给字典添加条目的方法
2014/09/25 Python
python九九乘法表的实例
2017/09/26 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
2014年单位植树节活动方案
2014/03/23 职场文书
户外活动总结
2015/02/04 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书
七年级作文之英语老师
2019/10/28 职场文书