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实现从URL地址提取文件名的方法
May 15 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
Flask框架WTForm表单用法示例
Jul 20 Python
Python之pymysql的使用小结
Jul 01 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
python如何求圆的面积
Jul 01 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 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
Zerg基本策略
2020/03/14 星际争霸
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
php中memcache 基本操作实例
2015/05/17 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
python pyheatmap包绘制热力图
2018/11/09 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Django--权限Permissions的例子
2019/08/28 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
sort命令的作用和用法
2012/11/04 面试题
医科大学生毕业的自我评价分享
2013/11/12 职场文书
党员组织关系介绍信
2014/02/13 职场文书
捐赠仪式主持词
2014/03/19 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL