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类继承用法实例分析
May 27 Python
深入学习python的yield和generator
Mar 10 Python
利用Python暴力破解zip文件口令的方法详解
Dec 21 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
Python实现购物车程序
Apr 16 Python
儿童编程python入门
May 08 Python
Django中的ajax请求
Oct 19 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python处理“
Jun 10 Python
python集合是否可变总结
Jun 20 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
对python中list的五种查找方法说明
Jul 13 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
深入理解node.js http模块
2018/01/24 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python函数参数操作详解
2018/08/03 Python
mac使用python识别图形验证码功能
2020/01/10 Python
python实现IOU计算案例
2020/04/12 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
启动一个线程是用run()还是start()
2016/12/25 面试题
护士自荐信
2013/10/25 职场文书
小学生优秀评语大全
2014/04/22 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
代办社保委托书范文
2014/10/06 职场文书
欠款起诉书范文
2015/05/19 职场文书
房产电话营销开场白
2015/05/29 职场文书
中学校园广播稿
2015/08/18 职场文书
高一英语教学反思
2016/03/03 职场文书
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript