目标:访问博客页面列表。在每个博客页面上,找到该博客页面的社交链接(Instagram、Facebook、Twitter)。
假设:每个社会联系的第一次出现将是正确的。页面后面出现的事件更可能涉及其他人的帐户。
理想的社交网址格式是www。
社交网络名称
.com/用户名
有一些格式的URL是不可取的(例如instagram.com/abc/)
def check_instagram(url):
if 'instagram.com/' in url and "instagram.com/abc/" not in url::
return True
def check_facebook(url):
if 'facebook.com/' in url and "facebook.com/abc/" not in url::
return True
#my list of pages t be parsed
pages_to_check = ['www.url1.com', 'www.url2.com', ... 'www.urn_n.com']
#iterate through my list of pages t be parsed
for page in pages_to_check :
#get all the links on the page
page_links = *<selenium code to get all links on page>*
我试过了…
For link in page_links:
#when first Instagram handle found
if check_instagram(url):
*code to write to a dataframe here*
break
#when first Instagram handle found
if check_facebook(url):
*code to write to a dataframe here*
break
问题:一旦我匹配了一个社交URL,它就会跳出循环,不再继续寻找其他网络句柄。
如果不是很好的话,我可以考虑一些选择。我是个笨蛋。我真的很感激你给我一些建议。
选项1-循环浏览所有链接并测试一个社交网络的第一次匹配。循环浏览所有链接,测试下一个社交网络的第一个匹配项。(讨厌这个)
选项2-为每个社交URL创建变量。创建一些匹配标记,只更新未设置匹配变量。(更好,但在填充完所有变量后,我仍将继续迭代)
选项3-欢迎任何建议或建议。你将如何处理这个问题?