问题描述
我是网络抓取的初学者。最近我尝试从 Google SERP 的搜索结果中抓取域名。
为了实现这一点,我使用了 Requests、Beautiful Soup 和 Regex 来获取页面、解析标签并查看 href 并使用正则表达式匹配来提取域名。
执行此操作时,输出中缺少一些链接。问题似乎是请求没有完全获取页面,因为我将获取的文本与 Chrome 上的源代码进行了比较(丢失的标签存在于丢失的代码中)。我想知道可能是什么原因!
import requests
from bs4 import BeautifulSoup
import re
url = "https://www.google.com/search?q=glass+beads+india"
r = requests.get(url)
page = r.text
soup = BeautifulSoup(page,'lxml')
i = 0
link_list = []
for tag in soup.find_all('a'):
i+=1
href = tag['href']
if re.search('http',href):
try:
link = re.search('https://.+\.com',href).group(0)
link_list.append(link)
except:
pass
link_list = list(set(link_list))
link_list2 = []
for link in link_list:
if not re.search('google.com',link):
link_list2.append(link)
print(link_list2)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)