网址采集

优采云 发布时间: 2020-08-08 05:45

  这段时间一直承受着很大的压力. 我读了一些网络,学习了一些基本的SQL注入,文件上传和数据包捕获,然后进行了排列,以便Wx可以承受它.

  但是让我们先来看一下python. 我觉得python采集器很有趣

  但是我怎么说现在应该将爬虫视为网络的一部分. 我个人认为网络很安全,应该学习爬虫.

  但是,现在网络安全性还不够好,因此与网络一起玩并研究python很有趣. 可以写一些有趣的东西. ~~~~~

  然后开始今天的话题

  URL采集

  参考资料ichunqiuPython安全工具的开发和应用

  使用的图书馆

  导入请求

  导入系统

  导入线程

  从bs4导入BeautifulSoup作为bs

  重新导入

  导入时间

  语言python 3.7

  然后,这里的url集合意味着如果要搜索关键字,请删除百度提供的所有URL.

  我不得不在这里提到一个功能强大的库

  BeautifulSoup真的很容易使用

  如果要获取1 5 8顺序的td标签

  然后只需要

  soup = bs(r.content,'lxml')

  urlstring = soup.find_all(name ='td')

  对于[1,5,8]中的i:

  urlstring [i] .string

  立即

  就是这样,它真的很容易使用~~~~~

  然后,此处不使用多线程. 原因实际上很简单. 多线程更为复杂,因此我不需要多线程.

  

  确定URL标签的地方也很漂亮

  然后我们将查看网址

  wd代表我们的关键字,0 10 20代表页面数

  然后我们将再次确认并返回正常代码200,然后将其再次打印

  

#!/user/bin/env python

# -*- coding: utf-8 -*-

import requests

import sys

import threading

from bs4 import BeautifulSoup as bs

import re

import time

header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0'}

def test(word):

for i in range(0,760,10):#每次 循环十次就够了

time.sleep(5)

url=('https://www.baidu.com/s?wd=%s&pn=%s')%(word,str(i))

print (i)

r=requests.get(url=url,headers=header)

soup=bs(r.content,'lxml')

urls=soup.find_all(name='a',attrs={'data-click':re.compile(('.')),'class':None})

for url in urls:

time.sleep(5)

r_get=requests.get(url=url['href'],headers=header,timeout=8)

if r_get.status_code==200:

print (url['href'])

if __name__=='__main__':

if len(sys.argv)!=2:

print ('Enter:%s word',sys.argv[0])

sys.exit(-1)

else:

test(sys.argv[1])

  别问我为什么时间设置得这么长,您可以将时间设置得更短,以后我会受到限制

  所以~~~~~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线