gpt4 book ai didi

python - 提取谷歌搜索结果

转载 作者:太空狗 更新时间:2023-10-30 01:41:45 24 4
gpt4 key购买 nike

我想定期检查 Google 列出了哪些子域。

要获取子域列表,我在 Google 搜索框中键入“site:example.com”——这会列出所有子域结果(我们的域有 20 多个页面)。

仅提取“site:example.com”搜索返回的地址的 URL 的最佳方法是什么?

我正在考虑编写一个小的 python 脚本来执行上述搜索并对搜索结果中的 URL 进行正则表达式(在所有结果页面上重复)。这是一个好的开始吗?有没有更好的方法?

干杯。

最佳答案

Regex 不是解析 HTML 的好主意。阅读起来很神秘,并且依赖于格式良好的 HTML。

尝试 BeautifulSoup对于 Python。下面是一个示例脚本,它从 site:domain.com Google 查询的前 10 页返回 URL。

import sys # Used to add the BeautifulSoup folder the import path
import urllib2 # Used to read the html document

if __name__ == "__main__":
### Import Beautiful Soup
### Here, I have the BeautifulSoup folder in the level of this Python script
### So I need to tell Python where to look.
sys.path.append("./BeautifulSoup")
from BeautifulSoup import BeautifulSoup

### Create opener with Google-friendly user agent
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]

### Open page & generate soup
### the "start" variable will be used to iterate through 10 pages.
for start in range(0,10):
url = "http://www.google.com/search?q=site:stackoverflow.com&start=" + str(start*10)
page = opener.open(url)
soup = BeautifulSoup(page)

### Parse and find
### Looks like google contains URLs in <cite> tags.
### So for each cite tag on each page (10), print its contents (url)
for cite in soup.findAll('cite'):
print cite.text

输出:

stackoverflow.com/
stackoverflow.com/questions
stackoverflow.com/unanswered
stackoverflow.com/users
meta.stackoverflow.com/
blog.stackoverflow.com/
chat.meta.stackoverflow.com/
...

当然,您可以将每个结果附加到一个列表中,以便为子域解析它。几天前我刚刚接触 Python 和抓取,但这应该可以帮助您入门。

关于python - 提取谷歌搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com