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批量导出导入MySQL用户的方法
Nov 15 Python
用Python编程实现语音控制电脑
Apr 01 Python
python实现在sqlite动态创建表的方法
May 08 Python
不要用强制方法杀掉python线程
Feb 26 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
python实现二叉树的遍历
Dec 11 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
python django中8000端口被占用的解决
Dec 17 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 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数组随机排序实现方法
2015/06/13 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
js实现时钟定时器
2020/03/26 Javascript
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
Python多线程下载文件的方法
2015/07/10 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python文件路径操作方法总结
2020/12/21 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
初中语文教学反思
2014/02/02 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
小学国庆节活动总结
2015/03/23 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python