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 时间处理datetime实例
Sep 06 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
django输出html内容的实例
May 27 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 Python
Django 开发环境配置过程详解
Jul 18 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 Python
python 装饰器的使用示例
Oct 10 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 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正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
js获取图片宽高的方法
2015/11/25 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python实现udp数据报传输的方法
2014/09/26 Python
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
分享Python文本生成二维码实例
2016/01/06 Python
python实现Decorator模式实例代码
2018/02/09 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
美国汽车交易网站:Edmunds
2016/08/17 全球购物
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
年度考核自我评价
2014/01/25 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
公司承诺书格式范文
2015/04/28 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
会议主持词开场白
2015/05/28 职场文书
导游词之镇江焦山
2019/11/21 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python