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字典DICT类型合并详解
Aug 17 Python
Python实现简单的HttpServer服务器示例
Sep 25 Python
如何用python整理附件
May 13 Python
python将txt文件读入为np.array的方法
Oct 30 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
python将pandas datarame保存为txt文件的实例
Feb 12 Python
python实现杨氏矩阵查找
Mar 02 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
vscode写python时的代码错误提醒和自动格式化的方法
May 07 Python
Python list列表删除元素的4种方法
Nov 01 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个良好习惯
2009/02/20 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
使用Python读取大文件的方法
2018/02/11 Python
matplotlib实现区域颜色填充
2019/03/18 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
收银员岗位职责
2014/02/07 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
转让协议书范本
2014/04/15 职场文书
拓展策划方案
2014/06/03 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
win7配置本地ftp服务器的图文教程
2022/08/05 Servers