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有证书的加密解密实现方法
Nov 19 Python
python删除列表中重复记录的方法
Apr 28 Python
回调函数的意义以及python实现实例
Jun 20 Python
Python实现的单向循环链表功能示例
Nov 10 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
浅谈python 导入模块和解决文件句柄找不到问题
Dec 15 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
python3 tkinter实现添加图片和文本
Nov 26 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
matplotlib交互式数据光标实现(mplcursors)
Jan 13 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 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版(5)
2006/10/09 PHP
header()函数使用说明
2006/11/23 PHP
php学习之运算符相关概念
2011/06/09 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
vue动态设置页面title的方法实例
2020/08/23 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python中的tuple元组详细介绍
2015/02/02 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
理论讲解python多进程并发编程
2018/02/09 Python
python实现Decorator模式实例代码
2018/02/09 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
群众路线党课主持词
2014/04/01 职场文书
毕业寄语大全
2014/04/09 职场文书
汽车维修求职信
2014/06/15 职场文书
擅自离岗检讨书
2014/09/12 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
小学家长通知书评语
2014/12/31 职场文书
学校隐患排查制度
2015/08/05 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python