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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python使用django获取用户IP地址的方法
May 11 Python
Python获取系统默认字符编码的方法
Jun 04 Python
Python的collections模块中的OrderedDict有序字典
Jul 07 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 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循环输出数据库内容的代码
2008/05/24 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
javascript动画浅析
2012/08/30 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
javascript如何实现create方法
2019/11/04 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
对numpy中轴与维度的理解
2018/04/18 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
Python里面search()和match()的区别
2016/09/21 面试题
师范生自荐信范文
2013/10/06 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
Go各时间字符串使用解析
2021/04/02 Golang