域名(2021.9.9)"/>
百度收集子域名(2021.9.9)
先说一下子域名是个啥玩意
比如qq.com这种一共两段,后面就一个.com .cn啥的,就是顶级域名。一般你要是想自己建个站,那需要买的域名就是这种
如果前面多点什么,像www.qq.com,q.pay.qq.com这种,那就是属于qq.com的子域名了
用百度收集这玩意的方法不少,像site: domain: inurl: 都能达到目标,随便找一个用就行
那么直接上代码
查询目标是qq.com,直接写死在里面,要换的话在url里改一下就好了
注意其中header里的accept和cookie,不加的话会被安全验证拦住
import requests # 用于请求网页
from bs4 import BeautifulSoup # 用于处理获取的到的网页源码数据
from urllib.parse import urlparse # 用于处理url
import redef baidu_search():Subdomain = [] # 定义一个空列表用于存储收集到的子域名a = 0# 定义请求头,绕过反爬机制headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36','accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','cookie': 'BIDUPSID=24E6DD8A5394939D4EB3D73C0D2CDF30; PSTM=1630910480; BAIDUID=24E6DD8A5394939D0A1537DDA52B38DD:FG=1; BD_UPN=12314753; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; __yjs_duid=1_91a89f46abbc87e0468885feb10248d21630925049614; H_PS_PSSID=; delPer=0; BD_CK_SAM=1; PSINO=2; BAIDUID_BFESS=24E6DD8A5394939D0A1537DDA52B38DD:FG=1; BDRCVFR[vZvJ-Vh0Nzt]=mk3SLVN4HKm; COOKIE_SESSION=1133_0_6_2_12_3_0_0_5_3_0_1_1126_0_0_0_1631064706_0_1631064706%7C9%230_0_1631064706%7C1; H_PS_645EC=81f4LcDlLSD44RhoetUp3dR0ktjS59oV7E1Jn50kJ5q595ntbEQsyz1k6HavVjJPztXHf8n%2B89Kg; BA_HECTOR=20050085a5a52ka0v21gjg8940q; BDSVRTM=0'}#设置分页,查询前100条记录for i in range(0,10):# 注意百度的分页里pg不是1、2、3按页数走的,是10个10个往上累加的i = i*10url = "=utf-8&f=8&rsv_bp=1&tn=54093922_12_hao_pg&wd=domain%%3Aqq.com&oq=domain%%253Aqq.com&rsv_pq=9e1987d200014abe&rsv_t=46deVc%%2F7LimIhks1aIcaHwwADHHZf937XYfdJ%%2BIimPUTYo7AUuemljxp%%2FsFgPxK5kipMHSxsAA%%2B1&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=12&rsv_sug1=2&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=3463&rsv_sug4=4438&pn=%s" %iresp = requests.get(url, headers=headers) # 访问url,获取网页源码soup = BeautifulSoup(resp.content,'html.parser') # 创建一个BeautifulSoup对象,第一个参数是网页源码,第二个参数是Beautiful Soup 使用的 HTML 解析器job_bt = soup.find_all(('h3'))for i in job_bt:link = i.a.get('href')if link.startswith('http'):baidu_url = requests.get(url=link, headers=headers, allow_redirects=False)# 提取真实域名real_url = baidu_url.headers['Location']if real_url in Subdomain: # 如果解析后的domain存在于Subdomain中则跳过,否则将domain存入子域名表中passelse:Subdomain.append(real_url)print(real_url)a = a+1#统计总条数print("\n共发现%s条记录" %a)baidu_search()
百度这玩意变得挺快的,网上17年也有类似的东西,不过已经没法用了,所以在这里标注一下时间
要是之后用不了了,这锅咱可不背
更多推荐
百度收集子域名(2021.9.9)
发布评论